我在数据库中有两个表,其中包含所有可能的杂货值列表。例如
Milk
Cheese
Bread
Meat
第二个表包含选中的Grocery项目。例如:
Milk
Cheese
我想要一个包含牛奶和奶酪的所有杂货项目的结果。
有什么想法吗?
以下是表格。
The GroceryList Table:
ID INT PK
Description Varchar(50)
The ShoppingList Table:
ID INT PK
GroceryListID int FK to GroceryList.ID
因此,生成的Entity将是GroceryList中的所有项目,如果它们存在于ShoppingList中,则选择的标记为true: ShoppingList.ID Grocerylists.Description 选中
答案 0 :(得分:0)
编辑:听起来你还想做左连接。在你的情况下:
var LINQResult = from g in Datacontext.GroceryList
from s in DataContext.ShoppingList
.Where(c=>c.ID == g.ID)
.DefaultIfEmpty()
select new {
g.ID,
g.Description,
s.ID // Will be null if not selected.
};
更多示例:
答案 1 :(得分:0)
基于理解,你可以做这样的事情
//first get the list of product which satisfy your condition
var ids = (from p ShoppingList
select p.GroceryListID ).ToList();
//second filter the Grocery products by using contains
var myProducts = from p in GroceryList
where ids.Contains(p.ID)
Select p;
或
如果你想获得有关加入的信息,那么这张图片可以帮助你
内部加入
外部加入
尝试了解哪些内容可以帮助您解决查询