您如何将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/

10-08 20:32