我记得EF的最后一个版本不像NHibernate那样支持受保护或私有集合映射。
你必须做那样的事情
public class Post
{
...
public virtual ICollection<Tag> Tags { get; private set; }
有没有办法避免有人直接调用此集合?我宁愿将其封装在一个方法中,而不是完全控制它。然而,EF需要这才能建立关系。这改变了吗?
编辑:通常我们应该能够使用IEnumerable而不是ICollection(因为NHibernate支持它),但它似乎不支持EF。
感谢。
答案 0 :(得分:0)
您在示例中显示的是私有或受保护集合的映射,不是吗? - 你的二传手是私人的is supported when using EDMX file for mapping。
在代码优先的情况下,它不受支持,因为流畅的API和约定都只能映射对它们可见的属性。