2012-05-08 82 views
1

我正在使用EF和LINQ。 我在db表如下LINQ分组和忽略列

branchId  Name  ItemId   CategoryId 
2    Test1  1    1 
5    Test1  1    1 
3    Test1  1    2 
2    Test2  2    1 
7    Test2  2    1 

我需要通过项目Id和BranchId组应该被忽略,所以输出应该是

Name ItemId CategoryId 
Test1 1  1 
Test1 1  2 
Test2 2  2 

请帮助。感谢

回答

1

您需要应用组由上多列,所以你需要去类似的代码通过对多列如下里面做组....

var numberGroups = from it in context.items 
        group it by new { it.ItemId,it.Name,it.CateogryID } into g 
        select new { ItemID = g.Key.ItemID, Name= g.Key.Name 
           CategoryID = g.Key.CategoryID }; 
+0

不起作用。我无法通过它进行分组.ItemId和它.CategoryId ?? – ShaneKm

+0

@ShaneKm - 你输出似乎你需要由那些组... –

+0

当我开始键入组它通过it.ContentObjectId,...后,“它”告诉我“无法解析符号” – ShaneKm

0
var query = from item in context.Item 
      group by item.Name,ItemId,item.CategoryId 
      select item.Name,Item.Id,item.CategoryId; 
+0

你需要在您的群组中包括categoryid以及select,... –

+0

我已经编辑了我的答案,然后重新加载了您的页面:) –