gpt4 book ai didi

c# - 如何将 EF4 代码优先 ICollection 转换为 EntityCollection?

转载 作者:太空宇宙 更新时间:2023-11-03 11:40:08 24 4
gpt4 key购买 nike

假设我有以下实体:

public class Post
{
public int Id { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
}

当我从数据库中检索一个 Post 对象时,我需要转换 Comments收集到 EntityCollection<T>这样我就可以检查有关集合的一些 EF4 相关数据,例如数据是否预先加载。

不幸的是,如果我尝试从 ICollection<T> 进行直接转换至 EntityCollection<T> ,我得到一个异常(exception),因为 Comments属性是 System.Collections.Generic.List<T>并且不能转换成 EntityCollection<T> .

那么在使用代码优先时,我该如何获取关于集合的 EF 信息?

最佳答案

这可能更适合作为评论,但我希望 EF4 专家能够对此做出回应并解释发生了什么。我刚才在 CTP4 上问了下面的问题。一个回应来自 EF 4 食谱的作者,他说如果集合被声明为虚拟和 ICollection(发问者显然正在这样做),在运行时集合将被创建为 EntityCollection。这显然不会发生。

此外,Rowan Miller(他在 EF4 团队)写了一个更高级的选项,提问者之前曾指出该选项不起作用。这里发生了什么?难道现在的CTP不支持,而以前的CTP支持?

Using CreateSourceQuery in CTP4 Code First

关于c# - 如何将 EF4 代码优先 ICollection 转换为 EntityCollection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5035757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com