无法初始化类型" MyDataCollection"使用集合初始值设定项,因为它没有实现' System.Collections.IEnumerable'

时间:2014-08-06 10:43:38

标签: c# entity-framework edmx

大家好我面临上述错误。 我想使用edmx从数据库中只检索两列。 在运行时我得到以下错误:

  

"无法使用集合初始值设定项初始化类型,因为它确实如此   没有实现ienumeume。"

using (DBEntities context = new DBEntities())
{
    IList<myData> objData = null;
    objData = context.EDatas
        .Where(entity => entity.Status == 0 && entity.Id == Id)
        .Select(entity => new myData
        { 
            entity.ID, 
            entity.Key                          
        }).ToList();                  
}

2 个答案:

答案 0 :(得分:3)

而不是

.Select(entity => new myData
{ 
    entity.ID, 
    entity.Key                          
})

您需要使用myData的正确属性名称:

.Select(entity => new myData
{ 
    ID = entity.ID, 
    Key = entity.Key                          
})

否则编译器会假定您要填充集合。

答案 1 :(得分:0)

您没有创建匿名类型,编译器认为您正在使用集合初始值设定程序语法创建集合。您应该使用属性名称并设置如下值:

.Select(entity => new myData
                  { 
                       Id = entity.ID, 
                       Key = entity.Key                          
                  }).ToList();