小编use*_*186的帖子

无法创建类型的常量值此上下文仅支持基元类型或枚举类型

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

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

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

为什么这会失败?我们不能使用LINQ JOIN条款里面SELECTJOIN

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
                 })
        });
Run Code Online (Sandbox Code Playgroud)

c# linq entity-framework join

152
推荐指数
1
解决办法
18万
查看次数

在C#中从XML解析为JSON时如何避免ROOT元素

我正在尝试使用JSON.NET从xml创建JSON

XmlDocument docPerson = new XmlDocument();
docPerson.LoadXml(xmlPerson); //xmlPerson is the xml from above
JObject personDefinition = JObject.Parse(JsonConvert.SerializeObject(docPerson));
Tasks.personDefinition = personDefinition["personDefinition"];
Run Code Online (Sandbox Code Playgroud)

输出JSON

"person":{"person":[{"personId":"1","firstName":"Name1","lastName":"lastName1"},                  {"personId":"3","firstName":"Name2","lastName":"lastName2"}]}
Run Code Online (Sandbox Code Playgroud)

我不需要外人,只需要以下json

需要JSON

"person":[{"personId":"1","firstName":"1","lastName":"Weight"},{"personId":"3","firstName":"4","lastName":"Pulse Ox"}]}
Run Code Online (Sandbox Code Playgroud)

我尝试过使用.first方法但是它会抛出一个错误.任何人都可以建议如何从输出json剥离根

.net c# xml json json.net

11
推荐指数
1
解决办法
7744
查看次数

标签 统计

c# ×2

.net ×1

entity-framework ×1

join ×1

json ×1

json.net ×1

linq ×1

xml ×1