【发布时间】:2017-12-31 03:01:48
【问题描述】:
使用 System.Linq.Dynamic
例如:
student.Where("studentno=@0","1001170101001")
SQL 看起来像:
exec sp_executesql N'select [Extent1].studentno,[Extent1].name.... from student
where [Extent1].[Name] =N''1001170101001''
但我想要 SQL 是:
exec sp_executesql N'select [Extent1].studentno,[Extent1].name.... from student
where [Extent1].[Name] =@DynamicFilterParam_000001',',N'@DynamicFilterParam_000001 nvarchar(50),
@DynamicFilterParam_000001='1001170101001'
eg2:
string studentno="1001170101001";
student.Where(q=>q.studentno == studentno);
这个 SQL 是:
exec sp_executesql N'select [Extent1].studentno,[Extent1].name.... from student
where [Extent1].[Name] =@DynamicFilterParam_000001',',N'@DynamicFilterParam_000001 nvarchar(50),
@DynamicFilterParam_000001='1001170101001'
怎么做?
【问题讨论】:
-
欢迎来到 SO。请标记您正在使用的数据库,并提出更具体的问题。到目前为止,您的问题还不清楚。
-
你能用更具体的代码解释你的期望吗?
-
如果您尝试
student.AsQueryable().Where("studentno=@0","1001170101001")会怎样? -
你为什么使用动态?常规 LINQ 查询将使用参数,具体取决于您使用的 LINQ 提供程序。也许您的数据库不使用参数?
-
学生是 dbset
标签: sql sql-server entity-framework linq dynamic