我正在寻找构建如下的 Lambda 表达式
IQueryable<Object> queryEntity =
_db.Projects.Where(Project=>Project.Id.IN(1,2,3,4));
IN
我在 Lambda 表达式中找不到任何运算符。
有人有建议吗?
我正在寻找构建如下的 Lambda 表达式
IQueryable<Object> queryEntity =
_db.Projects.Where(Project=>Project.Id.IN(1,2,3,4));
IN
我在 Lambda 表达式中找不到任何运算符。
有人有建议吗?
var idList = new[] { 1, 2, 3, 4 };
IQueryable<Object> queryEntity =
_db.Projects.Where(Project => idList.Contains(Project.Id));
您当然可以构建idList
内联。
没有 in 运算符,但有一个 contains。只需颠倒您的逻辑:
IQueryable<Object> queryEntity = _db.Projects.Where(Project=>(new []{1,2,3,4}).Contains(Project.Id));
您正在寻找IEnumerable.Contains
_db.Projects.Where(Project => list.Contains(Project.Id));
你可以自己写
public static bool In(this object item, IEnumerable list)
{
return list.Contains(item);
}
public static bool In(this object item, params object[] list)
{
return item.In(list);
}
StateMints 样本数据:
Mint、Location
1.O,新奥尔良,路易斯安那
2.W,西点,纽约 3.D
,丹佛,科罗拉多
到目前为止,这是我的代码:
List<string> mints = new List<string> { "C", "CC", "D", "M", "O", "P", "S", "W" };
var locations = StateMints.Where(p => mints.Contains(p.Mint.ToUpper())).Select(p => p.Location).ToList();