0
我有一個與另外兩個模型具有多對多關係的組模型。下面是一個簡單的代碼首先有助於解釋:EF6跨多個多對多關係的查詢
public class Store
{
public int ID {get; set;}
public string Name {get; set;}
public virtual ICollection<StockGroup> StockGroups { get; set; }
}
public class StockItem
public int ID {get; set;}
public string Name {get; set;}
public virtual ICollection<StockGroup> StockGroups { get; set; }
}
public class StockGroup
public int ID {get; set;}
public string Name {get; set;}
public virtual ICollection<Store> Stores { get; set; }
public virtual ICollection<StockItem> StockItems { get; set; }
}
使用我創建存儲和StockGroup以及StockItem和StockGroup之間的許多一對多的關係,流利的API。這反過來又創建了兩個連接表。
我遇到的問題是我似乎無法創建一個查詢,跨越從Store到StockItem或反向而不使用foreach循環。
例如:給定一個StockItem,我想通過StockGroup表瞭解與其相關的所有商店。我嘗試過這樣的事情,但它返回的是一個集合的集合。
var stock = db.StockItems.Find(4);
var stores = stock.StockGroups.Select(g => g.Stores);
我該如何重寫這個結合StockGroups來給我一個商店的集合?
謝謝!
是的SelectMany正是我一直在尋找。非常感謝你!我實際上完成了我想要的東西: 'var stores = stock.StockGroups.SelectMany(g => g.Stores).ToList();' – Karlman68