您如何将List<T>
转换或转换为EntityCollection<T>
?
有时在尝试“从头开始”创建子对象集合时会发生这种情况(例如,从网络表单中)
无法隐式转换类型
'System.Collections.Generic.List'到
'System.Data.Objects.DataClasses.EntityCollection'
最佳答案
我假设您正在谈论Entity Framework使用的List<T>
和EntityCollection<T>
。由于后者的用途完全不同(它负责更改跟踪)并且不继承List<T>
,因此没有直接强制转换。
您可以创建一个新的EntityCollection<T>
并添加所有List成员。
var entityCollection = new EntityCollection<TEntity>();
foreach (var item m in list)
{
entityCollection.Add(m);
}
不幸的是,
EntityCollection<T>
既不支持Linq2Sql所使用的EntitySet也不支持Assign操作,也不支持重载的构造函数,因此,您在上面已经讲过了。关于c# - 将List <t>转换或转换为EntityCollection <T>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2364676/