转换或转换 List到 EntityCollection
您如何将 List
转换或转换为 EntityCollection
?
有时,当尝试“从头开始”创建子对象集合(例如从 Web 表单)时,会发生这种情况
Cannot implicitly convert type 'System.Collections.Generic.List' to 'System.Data.Objects.DataClasses.EntityCollection'
How would you to convert or cast a List<T>
to EntityCollection<T>
?
Sometimes this occurs when trying to create 'from scratch' a collection of child objects (e.g. from a web form)
Cannot implicitly convert type 'System.Collections.Generic.List' to 'System.Data.Objects.DataClasses.EntityCollection'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我假设您正在谈论实体框架使用的
List
和EntityCollection
。由于后者具有完全不同的目的(它负责更改跟踪)并且不继承List
,因此没有直接转换。您可以创建一个新的 EntityCollection并添加所有列表成员。
不幸的是,EntityCollection既不支持像 Linq2Sql 使用的 EntitySet 那样的赋值操作,也不支持重载的构造函数,所以这就是我上面所说的。
I assume you are talking about
List<T>
andEntityCollection<T>
which is used by the Entity Framework. Since the latter has a completely different purpose (it's responsible for change tracking) and does not inheritList<T>
, there's no direct cast.You can create a new
EntityCollection<T>
and add all the List members.Unfortunately
EntityCollection<T>
neither supports an Assign operation as does EntitySet used by Linq2Sql nor an overloaded constructor so that's where you're left with what I stated above.一行:
扩展方法:
使用:
In one line:
Extension method:
Use:
不需要 LINQ。只需调用构造函数
No LINQ required. Just call the constructor