2017-03-12 73 views
-1

EF核心鮮明的劑量不支持GroupBy,我想爲Distinct我有同樣的問題。的GroupBy和核心的EntityFramework

那麼,我該如何解決它?

我只是得到100個第一要素,然後我打電話Distinct()在結果列表

有一個更好的解決辦法?

是有可能GROUPBY添加爲擴展方法來EFCore?

對.NET核心不是報告制度是個好主意:/

是陷阱:(

 query = query.Where(e => e.Goodscode.Contains(filter) || e.GoodsName.Contains(filter)); 
     return query.Select(e => new GoodsDTO 
     { 
      Name = e.GoodsName, 
      Code = e.Goodscode, 
      T3Code = e.T3Code, 
      StockId = e.StockId 
     }).Take(100).ToList().Distinct(new GoodsDTOComparer()).Take(20); 
     //why we do like up: because EF7 dosent support Distinct and GroupBy yet (12-03-2017) 
     //microsoft, please don't be OpenSource, because you dont care for your opensource products 
+0

這是GitHub問題鏈接https://github.com/aspnet/EntityFr amework/issues/2341看起來這裏有一些拉取請求。其中一個已於3天前更新 –

+0

tnx,但我尋找快速解決方案 – data

回答

1

可以使用Dapper庫,在EF核心

不支持查詢

示例

using (IDbConnection dbConnection = new SqlConnection(niniSiteConnectionString)) 
{ 

    var sql = @"SELECT Name, Count(*) AS Total FROM Users 
        GROUP BY u.Name 
        HAVING COUNT(*) > 1"; 

    var result = dbConnection.Query<UserDto>(sql).ToList(); 
} 

public class UserDto 
{ 
    public string Name{get; set;} 
    public int Total{get; set;} 
} 
+0

tnx mohammad,我可以擴展EF核心以支持GroupBy嗎?怎麼做到這一點?裝飾者模式?我可以使用.Net Core的EF6來處理這個問題嗎? – data

相關問題