【发布时间】:2018-04-01 19:16:14
【问题描述】:
如何使用Dynamic Linq 定义where in 条件?
我厌倦了下面的解决方法,但它一定不起作用,因为它没有意义!
context.Records.Where("@0.Contains(ID)", new object[]{
new string[] {"1", "2", "3"}
}); // throws error No property or field 'ID' exists in type 'String'
编辑 1:
感谢大家,您只需在Dynamic.Linq 查询中使用it 或outerIt 关键字,所以在我的示例中我只需要使用outerIt:
context.Records.Where("@0.Contains(outerIt.ID)", new object[]{
new string[] {"1", "2", "3"}
});
您可以在此处找到更多示例和信息:Advanced Linq - Dynamic Linq query library: Add support for 'Contains' extension
【问题讨论】:
-
您在使用 EntityFramework 吗?
-
你不需要那个。使用
context.Records.Where(x => list.Contains(x.ID) -
@OleksandrNahirniak 是的。
-
@CamiloTerevinto 我需要使用动态 Linq
-
可以在github.com/StefH/System.Linq.Dynamic.Core找到支持.NET Core的更新版本
标签: c# linq dynamic-linq