0
Product
+------------+-------------+------------+
| PID        | Name        | Model      |
+------------+-------------+------------+
|          1 | Mercedes    | xyz        |
|          2 | Audi        | yxz        |
|          3 | BMW         | zyx        |
+------------+-------------+------------+


ProductColor
+------------+-------------+------------+
| ID         | ProductID   | Color      |
+------------+-------------+------------+
|          1 | 1           | Red        |
|          2 | 1           | Blue       |
|          3 | 3           | Blue       |
+------------+-------------+------------+

我需要从 ProductColor 中选择 ProductID,其中蓝色和红色?如何编写正确的 Linq 查询?

4

2 回答 2

0

假设您在数据库表上有关系,这样的事情应该可以工作:

C#:

var ProductIDs = ctx.Products.Where(p => p.Color.Contains("Red") && 
    p.Color.Contains("Blue")).Select(p => p.PID)

VB:

Dim ProductIDs = ctx.Products.Where(function(p) p.Color.Contains("Red") And
    p.Color.Contains("Blue")).Select(function(p) p.PID)
于 2012-06-06T09:47:06.053 回答
0
List<Product> Pr= data.Products.Where(x=> x.ProductColors.Where(y=>   
y.Color=="blue").Select(z=> z.ProductID).Contains(x.ID) && 
x.ProductColors.Where(y=> y.Color== "red").Select(z=> 
z.ProductID).Contains(x.ID)).ToList()

绿色
黄色
n

如何进行多条件 linq 查询?

于 2012-06-07T06:12:52.193 回答