var queryResult = from p
in
db.Products
where (
new int
?[] {1,2}).Contains(p.CategoryID)
select p;
类似与这种写法就行了,用枚举的数组 来判断包含
翻译成sql 就是 in
多谢问题解决了,和你说的一模一样,忽然产生一个困惑linq到底不持支什么C#复杂的语法?
@老三的古代:
比如 String.Equals() 的一个重载就不支持
https://msdn.microsoft.com/zh-cn/library/c64xh8f9.aspx
要小心使用C#的语法,不同的C#语法会生成出来不一样的sql语句。有的生成的很SB
@Sky.Grain: 对的,就是这个生成语法很难识别,我也是自己写了必须去运行尝试才知道是否正确。多谢英雄指点。
用linq写in不就好了。。
多谢,问题解决了。