2013-12-09 36 views
0

我可以在這個網站上看到很多關於我之後的查詢的例子,但我無法涉及到它們以及它們是如何工作的。我想知道你能否幫助我。如何做多對多的LINQ實體分組查詢?

我已經在Visual Studio中設置了我的多對多表和與實體設計器的關係。

tblQuotes 
ID | QuoteNo | Date 

tblItems 
ID | PartNo | Desc 

tblSuppliers 
ID | Supplier | email 

tblQIS (quotes items suppliers) 
ID | SupplierID | QuoteID | ItemID 

我已經把一些測試數據中,並已開始嘗試鍵入這一點,但我想我首先需要按quoteNo然後按供應商,以獲得正確的觀點的細節。

var tblQuotes = from d in db.tblQuotes_Items_Suppliers 
        .Include(t => t.tblItems) 
        .Include(t => t.tblQuotes) 
        .Include(t => t.tblSuppliers) 
       group by (d.QuoteID,d.SupplierID) 
       select d; 

任何人都可以幫我嗎?

回答

1

你可以試試這個:

var tblQuotes = 
    from d in db.tblQuotes_Items_Suppliers // or tblQIS whatever the name 
    group d by new 
    { 
     d.QuoteID, 
     d.SupplierID 
    } into g 
    select g; 

,會給您同時按QuoteID和供應商ID

更新

的tblQuotes分組行情被分組報價列表(IQueryable的),所以你可以訪問其他實體如下:

var firstGroupOfQuotes = tblQuotes.First(); // will give you the first group of quotes 
var firstQuote = firstGroupOfQuotes.First(); // will give you the first quote in the first group 
var item = firstQuote.tblItems; // will give you the item of this quote 
var partNo = item.PartNo; // will give you the PartNo of this item 
+0

我怎麼會得到我的其他表,我也需要這些數據 – AlexW

+0

我更新了我的回答 –

+0

在集團聲明即時得到「推斷失敗的呼叫'GroupBy'」組下劃線 – AlexW