相关疑难解决方法(0)

Linq to Entities - SQL"IN"子句

在T-SQL中,您可以进行如下查询:

SELECT * FROM Users WHERE User_Rights IN ("Admin", "User", "Limited")
Run Code Online (Sandbox Code Playgroud)

你会如何在LINQ to Entities查询中复制它?它甚至可能吗?

.net linq linq-to-entities in-clause

228
推荐指数
5
解决办法
19万
查看次数

通过指定多个条件在通用列表中查找项目

通常我们会找到包含以下代码的通用列表:

CartItem Item = Items.Find(c => c.ProductID == ProductID);
Item.Quantity = Quantity;
Item.Price = Price;
Run Code Online (Sandbox Code Playgroud)

所以上面的代码找到并更新了其他数据,但如果我想通过多个条件找到,那么我该如何编写代码呢?

我想写代码如下:

CartItem Item = Items.Find(c => c.ProductID == ProductID and c.ProductName == "ABS001");
Run Code Online (Sandbox Code Playgroud)

当我们找到通用列表时,请引导我了解多种情况.

c# linq lambda

17
推荐指数
3
解决办法
7万
查看次数

当id在数组中时,linq where子句

我有一个方法,如果UserId在数组中,应该返回用户列表.UserIds数组传递给方法.

我不知道如何在数组中编写... where userid?

下面in ids[]显然不正确.

public List<User> GetUsers(int[] ids)
{
   return Users.Values.Where(u => u.UserID in ids[]).ToList();
}
Run Code Online (Sandbox Code Playgroud)

任何想法如何纠正?

谢谢,

c# linq

6
推荐指数
2
解决办法
4251
查看次数

如何使用LINQ链接OR子句?

我有一个场景,我需要使用LINQ构建一个SQL查询,其中包含可变数量的OR子句.我正在编写一个函数,它将根据一些输入构建查询.函数定义看起来类似于......

function BuildQuery(ICollection<ColumnsThatNeedToBeTrue> columns)
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

所以,我给了一个我需要检查的列的集合,并且检查需要使用OR子句.

如果columns数组包含AB,我需要查询来检查列A是否为真或列为B真.

如果columns数组包含A,B并且C,我需要查询并检查AOR BOR C是否为真.

我不知道如何在一个单一内完成这一切Where,因为我不知道如何逐步增加其他||条款.基于输入数组,我不确定如何在下面包含额外的OR检查.

var query = entities.Where(m => m.A == true || m.B == true ...)
Run Code Online (Sandbox Code Playgroud)

我不能链接Where函数,每个函数用于自己的列检查,因为它使用AND子句构建该查询,我需要OR.

有没有办法使用LINQ构建这样的查询?

c# linq

4
推荐指数
1
解决办法
1055
查看次数

标签 统计

linq ×4

c# ×3

.net ×1

in-clause ×1

lambda ×1

linq-to-entities ×1