为contains子句提供的语法是
ids = new int[] {1,2,3,4};
dataContext.Table.Where("@0.Contains(id)", ids);
但我想要的是
dataContext.Table.Where("{1,2,3,4}.Contains(id)"); //getting exception here
[ERROR]预期的表达式(在索引0处)
我需要这个因为where子句我或不可以使用contains方法。这取决于用户的行为方式。
答案 0 :(得分:0)
所以我在修补一段时间后得到了答案。所以在这里发布答案。
dataContext.Table.Where("new Int[]{1,2,3,4}.Contains(id)");
您可以使用所需的任何数据类型。我使用反射来查找数据类型并相应地使用它。
答案 1 :(得分:0)
尝试代码:
int[] ids= {1,2,3,4};
dataContext.Table.Where(c=>c.ids.Contains(t.id)).ToList();
或
var result= (from p in dataContext.Table.AsEnumerable()
join q in ids on p.id equals q
select p).Distinct() .ToList();