如何将包含IN关键字的SQL语句转换为LINQ
LINQ实现SQL IN逻辑的解决方案
完整代码实现
补全你未完成的代码,使用集合的Contains()方法即可对应SQL中的IN逻辑:
var list = new List<int>() { 1, 2, 3}; var result = db.History.Where(x => x.Status == "Created" && list.Contains(x.HistoryId));
关键说明
- LINQ中的
Contains方法会被Entity Framework或LINQ to SQL自动转换为SQL的IN子句,最终生成的SQL与你提供的原始查询一致。 - 注意C#中字符串常量需用双引号
"Created",单引号'仅适用于单个字符,这里Status是字符串类型,必须修正引号避免编译错误。
内容的提问来源于stack exchange,提问作者Frank Martin
相关产品推荐
相关产品推荐

