c# - LINQ 到存储过程。我可以使用动态参数列表来调用 SP,而不是强类型化它们吗?

标签 c# asp.net linq dynamic

我正在努力使我的代码更加动态。所以我目前调用存储过程,带有一些像这样的强类型参数

var results = datacontext.spReturnUsers(txtUserId.Text, txtUserFirstName.Text, txtUserLastName.Text);

现在我想做的是循环并动态添加参数。因此,如果明天我添加另一个搜索字段,例如用户地址或面板中的其他内容,那么我可以循环遍历控件并动态添加参数,而不必返回并更改强类型存储过程调用。

类似于在 LINQ 之前,您可以在存储过程上使用parameters.add() 进行操作。

是否仍使用 LINQ to SQL 来完成此任务?

最佳答案

DataContext 类的 ExecuteCommandExecuteQuery 方法采用一个简单参数 (params object[])大批。在这些方面存在一些问题,但在大多数情况下,它们工作正常,并且比填充 SqlCommand 的参数编写的代码更少。

context.ExecuteCommand("EXEC usp_UpdateProductName {0}, {1}",
    productID, productName);

这就是它的全部内容。

关于c# - LINQ 到存储过程。我可以使用动态参数列表来调用 SP,而不是强类型化它们吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2180147/

相关文章:

c# - 如何在不使用 'static' 或将其作为参数传递的情况下允许对另一个类中的变量进行访问?

c# - 使用存储过程时,不能多次枚举查询结果

c# - 如何自动创建 WPF Viewmodel 属性

c# - Any() 不在可移植类库中编译;有其他选择吗?

asp.net - 当请求太大时,为什么 IIS 返回代码 404.13 而不是代码 413?

asp.net - 菜单控件在环境之间构建和呈现不同

c# - 类库中的 ASP.Net ASMX Web 服务(最佳实践)

C#: 'IEnumerable<Student>' 不包含 'Intersect' 的定义

c# - IEnumerable 返回优先

linq - RavenDB OrderByDescending 和 Take - 错误结果