我无法弄清楚我做错了什么。我有以下方法:
public IList<WObject> GetRelationshipMembers(int relId)
{
var members = from r in _container.ObjectRelationships
where r.Id == relId
select r.WObjects;
return members.ToList<WObject>();
}
这会返回以下错误:
Instance argument: cannot convert from 'System.Linq.IQueryable<System.Data.Objects.DataClasses.EntityCollection<Project.DomainModel.Entities.WObject>>' to 'System.Collections.Generic.IEnumerable<Project.DomainModel.Entities.WObject>'
如何将EntityCollection转换为没有延迟加载的列表?
答案 0 :(得分:1)
您的查询看起来像是返回一系列实体集合 - 实体列表的列表。如果你想弄平它们。您正在尝试将其转换为实体列表。现在,你想怎么做?你想把所有的收藏品拼凑成一个大清单吗?或者从每个系列中获取第一个条目?这是一个将结果展平的例子:
public IList<WObject> GetRelationshipMembers(int relId)
{
var members = from r in _container.ObjectRelationships
where r.Id == relId
select r.WObjects;
return members.SelectMany(x => x)
.ToList<WObject>();
}