小编Iva*_*lov的帖子

.NET 6 LINQ DistinctBy 不支持异常

在我的 .NET 6,0 应用程序中,我尝试使用(.NET 6.0 新功能https://learn.microsoft.com/en-us/dotnet/api/system.linq.queryable.distinctby?view=net- 6.0)方法 DistinctBy,如下所示:

return context.Table
    .Where(x => x.IsLive)
    .DistinctBy(x => x.Field1)
    .ToList();
Run Code Online (Sandbox Code Playgroud)

Bald 很好,没有错误,但在运行时我得到这个:

Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1]
  An unhandled exception has occurred while executing the request.
  System.NotSupportedException: LINQ to Entities does not recognize the method 'System.Linq.IQueryable`1[MyType] DistinctBy[DbFundHistoPrice,String](System.Linq.IQueryable`1[VanEck.Repositories.Entities.Website.Funds.DbFundHistoPrice], System.Linq.Expressions.Expression`1[System.Func`2[VanEck.Repositories.Entities.Website.Funds.DbFundHistoPrice,System.String]])' method, and this method cannot be translated into a store expression.
     at System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.MethodCallTranslator.DefaultTranslator.Translate(ExpressionConverter parent, MethodCallExpression call)
     at System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.MethodCallTranslator.TypedTranslate(ExpressionConverter parent, MethodCallExpression linq)
     at System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.TranslateExpression(Expression linq)
     at System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.Convert()
     at System.Data.Entity.Core.Objects.ELinq.ELinqQueryState.GetExecutionPlan(Nullable`1 forMergeOption)
     at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass41_0.<GetResults>b__1()
     at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean …
Run Code Online (Sandbox Code Playgroud)

c# linq .net-6.0

2
推荐指数
1
解决办法
1886
查看次数

标签 统计

.net-6.0 ×1

c# ×1

linq ×1