LINQ to Entities:无法创建类型为'Anonymous type'的常量值。在此上下文中仅支持原始类型或枚举类型

问题描述 投票:0回答:1

我在实体框架中使用此代码:

var ReportData = from a in dataContext.ReportsViews
                 where a.AccountID != ""
                       && a.AccountID != null
                 group a by new
                         {
                             a.AccountID
                           , a.AccountTypeID
                         } into g
                 select new
                         {
                             g.Key
                         };

当我跑步时,出现此错误:

无法创建类型为'Anonymous type'的常量值。在此上下文中,仅支持原始类型或枚举类型

知道为什么吗?

编辑:如果我将代码更改为

var ReportData = from a in dataContext.ReportsViews
                 where a.AccountID != ""
                       && a.AccountID != null
                 group a by a.AccountID into g
                 select new
                         {
                             g.Key
                         };

不会发生此问题。

c# entity-framework linq linq-to-entities
1个回答
0
投票
您可以尝试:

var ReportData = from a in dataContext.ReportsViews where a.AccountID != "" && a.AccountID != null group a by new { a.AccountID , a.AccountTypeID } into g select new { g.Key.AccountID, g.Key.AccountTypeID };

哪会给您分组值的结果,但是是一个包含值的匿名类型,而不是另一个匿名类型,就像Distinct。

© www.soinside.com 2019 - 2024. All rights reserved.