我研究过这个死亡。这里似乎已经有了一些答案,但坦率地说,答案让我感到困惑。所以我会尽量让这个尽可能基本。LinqtoSQL与where子句包含一个列表?
如果我在数据库中有一个表,名为列(字符串)和年龄(int)列的“People”。然后我做这样的事情:
List<int> ages = new List<int>();
ages.Add(39);
ages.Add(40);
var result = from p in People
where ages.Contains((int)p.Age)
select p;
语法是传递,但没有返回(在VS2010和LinqPad)。难道这不应该使用包含列表中的年龄的where子句生成SQL语句吗?
简单的回答任何人? (理想情况下,如果你可以修改我的例子,并使其工作..这将是伟大的!)
什么是p.Age的数据类型?你可以发布结果SQL查询,无论是与context.Log = Console.Out或从SQL事件探查器? – 2010-10-16 14:18:40
顺便问一下,这是linq2objects还是linq2SQL? – 2010-10-16 14:19:10
哦,我只铸造了p.Age(这是一个Int),因为它在db中是可选的。另外,如果你阅读上面的“人物”是一个数据库表,但显然年龄是一个对象。 – CraigF 2010-10-16 14:27:53