不能在实体框架选择查询中使用组作为类属性名称

时间:2019-02-21 05:30:36

标签: entity-framework linq .net-core

我正在研究.Net Core 2.1和Entity Framework。我写了一个查询来从多个表中选择一些数据到新的对象列表中,并且该对象的属性名称之一是“ group”。但是当给“ group”属性赋值时,它给我一个错误“ name'group'在当前上下文中不存在”。 当我将名称更改为“ groups”或其他名称时,就没有错误了。但是我必须使用“组”作为属性名称。我该怎么解决?

var itemsList = (from K in ctx.Card
                 join M in ctx.Product on K.Code equals M.Code
                 join U in ctx.Man on K.Code equals U.Code 
                 select new Item
                            {
                                id = K.CardId,
                                ...
                                group = U.GroupId
                            }).ToList();

1 个答案:

答案 0 :(得分:0)

group在此上下文中是保留的,如果您仍要使用该名称,请返回dynamic对象的列表,并从中创建item的列表。

请参阅下文。

List<Item> itemsList = (from K in ctx.Card
                 join M in ctx.Product on K.Code equals M.Code
                 join U in ctx.Man on K.Code equals U.Code 
                 select new
                            {
                                id = K.CardId,
                                ...
                                groupId = U.GroupId
                            }).ToList().Select(x=> new Item {
                              id= x.id,
                              group = x.groupId
                            ......                            
                            }).ToList();