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

用户名

我在下面的查询中遇到此错误

无法创建类型的常量值API.Models.PersonProtocol在此上下文中仅支持原始类型或枚举类型

ppCombined下面是的IEnumerable对象PersonProtocolType,由2个PersonProtocol列表的concat构造

为什么会失败?我们不能使用LINQJOIN子句中的SELECT一个JOIN

var persons = db.Favorites
    .Where(x => x.userId == userId)
    .Join(db.Person, x => x.personId, y => y.personId, (x, y) =>
        new PersonDTO
        {
            personId = y.personId,
            addressId = y.addressId,                   
            favoriteId = x.favoriteId,
            personProtocol = (ICollection<PersonProtocol>) ppCombined
                .Where(a => a.personId == x.personId)
                .Select( b => new PersonProtocol()
                 {
                     personProtocolId = b.personProtocolId,
                     activateDt = b.activateDt,
                     personId = b.personId
                 })
        });
贫民窟

ppCombined行不通的,因为它是内存中的一组对象,并且您无法将数据库中的一组数据与内存中的另一组数据连接在一起。你可以尝试,而不是提取经过滤项personProtocol中的ppCombined集合中的内存后,您检索从数据库中其他属性:

var persons = db.Favorites
    .Where(f => f.userId == userId)
    .Join(db.Person, f => f.personId, p => p.personId, (f, p) =>
        new // anonymous object
        {
            personId = p.personId,
            addressId = p.addressId,   
            favoriteId = f.favoriteId,
        })
    .AsEnumerable() // database query ends here, the rest is a query in memory
    .Select(x =>
        new PersonDTO
        {
            personId = x.personId,
            addressId = x.addressId,   
            favoriteId = x.favoriteId,
            personProtocol = ppCombined
                .Where(p => p.personId == x.personId)
                .Select(p => new PersonProtocol
                {
                    personProtocolId = p.personProtocolId,
                    activateDt = p.activateDt,
                    personId = p.personId
                })
                .ToList()
        });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法创建类型“?”的常量值。在此上下文中仅支持原始类型或枚举类型

来自分类Dev

无法创建类型“?”的常量值。在此上下文中仅支持原始类型或枚举类型

来自分类Dev

EntityFramework无法创建类型为“匿名类型”的常量值。在此上下文中仅支持原始类型或枚举类型

来自分类Dev

C#-Linq:无法创建类型的常量值在此上下文中仅支持原始类型或枚举类型。

来自分类Dev

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

来自分类Dev

Asp.Net-无法创建类型的常量值。在此上下文中仅支持原始类型或枚举类型

来自分类Dev

无法创建类型为“匿名类型”的常量值。在此上下文中仅支持原始类型或枚举类型。在 Linq C#

来自分类Dev

LINQ相关错误“无法创建类型'System.Object'的常量值。在此上下文中仅支持原始类型或枚举类型

来自分类Dev

无法创建类型为'EShop.ClassLibrary.ProductType'的常量值。在此上下文中仅支持原始类型或枚举类型

来自分类Dev

“无法创建类型[MyClass]的常量值。在此上下文中仅支持基本类型。”

来自分类Dev

EF6 Lambda查询错误:无法创建类型常量...在此上下文中仅支持枚举类型的原始类型

来自分类Dev

错误:在此上下文中仅支持原始类型或枚举类型

来自分类Dev

在带有Entity Framework的ASP.NET MVC中,在此上下文中仅支持原始类型或枚举类型

来自分类Dev

在带有Entity Framework的ASP.NET MVC中,在此上下文中仅支持原始类型或枚举类型

来自分类Dev

用LINQ从组中用逗号分隔值(具有定义的顺序);无法创建常量值,仅支持原始类型或枚举类型

来自分类Dev

联合类型无法在孤立的上下文中工作

来自分类Dev

当我尝试通过串联字符串过滤时,无法创建类型(类型)的常量值仅原始类型

来自分类Dev

关联类型的界限,但“错误:在此上下文中必须知道此值的类型”

来自分类Dev

无法创建类型的常量值

来自分类Dev

在上下文中解析类型

来自分类Dev

无法在此上下文中创建System.Object常量

来自分类Dev

模式匹配中的错误“此值的类型必须在此上下文中已知”

来自分类Dev

错误:在此上下文中必须知道此值的类型

来自分类Dev

rust_serialize错误:在此上下文中必须知道此值的类型

来自分类Dev

rust_serialize错误:在此上下文中必须知道此值的类型

来自分类Dev

现有量化类型无法在类型类上下文中推断

来自分类Dev

在常量值类型上使用两个上下文的LINQ查询中的错误

来自分类Dev

关联类型有界,但是“错误:必须在此上下文中知道此值的类型”

来自分类Dev

无法创建 IdentityUserClaim 类型的常量值

Related 相关文章

  1. 1

    无法创建类型“?”的常量值。在此上下文中仅支持原始类型或枚举类型

  2. 2

    无法创建类型“?”的常量值。在此上下文中仅支持原始类型或枚举类型

  3. 3

    EntityFramework无法创建类型为“匿名类型”的常量值。在此上下文中仅支持原始类型或枚举类型

  4. 4

    C#-Linq:无法创建类型的常量值在此上下文中仅支持原始类型或枚举类型。

  5. 5

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

  6. 6

    Asp.Net-无法创建类型的常量值。在此上下文中仅支持原始类型或枚举类型

  7. 7

    无法创建类型为“匿名类型”的常量值。在此上下文中仅支持原始类型或枚举类型。在 Linq C#

  8. 8

    LINQ相关错误“无法创建类型'System.Object'的常量值。在此上下文中仅支持原始类型或枚举类型

  9. 9

    无法创建类型为'EShop.ClassLibrary.ProductType'的常量值。在此上下文中仅支持原始类型或枚举类型

  10. 10

    “无法创建类型[MyClass]的常量值。在此上下文中仅支持基本类型。”

  11. 11

    EF6 Lambda查询错误:无法创建类型常量...在此上下文中仅支持枚举类型的原始类型

  12. 12

    错误:在此上下文中仅支持原始类型或枚举类型

  13. 13

    在带有Entity Framework的ASP.NET MVC中,在此上下文中仅支持原始类型或枚举类型

  14. 14

    在带有Entity Framework的ASP.NET MVC中,在此上下文中仅支持原始类型或枚举类型

  15. 15

    用LINQ从组中用逗号分隔值(具有定义的顺序);无法创建常量值,仅支持原始类型或枚举类型

  16. 16

    联合类型无法在孤立的上下文中工作

  17. 17

    当我尝试通过串联字符串过滤时,无法创建类型(类型)的常量值仅原始类型

  18. 18

    关联类型的界限,但“错误:在此上下文中必须知道此值的类型”

  19. 19

    无法创建类型的常量值

  20. 20

    在上下文中解析类型

  21. 21

    无法在此上下文中创建System.Object常量

  22. 22

    模式匹配中的错误“此值的类型必须在此上下文中已知”

  23. 23

    错误:在此上下文中必须知道此值的类型

  24. 24

    rust_serialize错误:在此上下文中必须知道此值的类型

  25. 25

    rust_serialize错误:在此上下文中必须知道此值的类型

  26. 26

    现有量化类型无法在类型类上下文中推断

  27. 27

    在常量值类型上使用两个上下文的LINQ查询中的错误

  28. 28

    关联类型有界,但是“错误:必须在此上下文中知道此值的类型”

  29. 29

    无法创建 IdentityUserClaim 类型的常量值

热门标签

归档