Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何进行多对多LINQ实体分组查询?_C#_Linq_Linq To Entities - Fatal编程技术网

C# 如何进行多对多LINQ实体分组查询?

C# 如何进行多对多LINQ实体分组查询?,c#,linq,linq-to-entities,C#,Linq,Linq To Entities,我可以在这个网站上看到很多我所关注的查询的例子,但是我无法联系到它们以及它们是如何工作的。我想知道你是否能帮我 我已经在VisualStudio中与EntityDesigner建立了多对多表和关系 tblQuotes ID | QuoteNo | Date tblItems ID | PartNo | Desc tblSuppliers ID | Supplier | email tblQIS (quotes items suppliers) ID | SupplierID | Quote

我可以在这个网站上看到很多我所关注的查询的例子,但是我无法联系到它们以及它们是如何工作的。我想知道你是否能帮我

我已经在VisualStudio中与EntityDesigner建立了多对多表和关系

tblQuotes
ID | QuoteNo | Date

tblItems
ID | PartNo | Desc

tblSuppliers
ID | Supplier | email

tblQIS (quotes items suppliers)
ID | SupplierID | QuoteID | ItemID
我已经输入了一些测试数据,并开始尝试键入这些数据,但我认为我首先需要按报价分组,然后按供应商分组,以获得正确视图中的详细信息

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;
有人能帮我吗?

你可以试试这个:

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和SupplierID分组的报价

更新

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

我该如何将我的其他表放入其中,我需要来自group语句中的TOO的数据我得到的是“调用'GroupBy'时推理失败”组被下划线你的意思是“类型推理失败…”?是的类型推理抱歉,我该如何修复?你确定ID字段具有相同的数据类型吗?