因为我目前正在学习实体框架是如何工作的,所以我得到了以下问题:
在创建基本的1:n关系(代码优先)时,我确实读过我应该这样做:
public class Post
{
public int PostId { get; set; }
[MaxLength(200)]
public string Title { get; set; }
public string Content { get; set; }
public int BlogId { get; set; }
public Blog Blog { get; set; }
}
书籍关系有参考和Id字段。这需要吗?
我总是手动完成数据库连接,只有参考字段
public Blog Blog { get; set; }
这样我也可以访问博客ID,而且我不必保持最新版本。 似乎EF迁移不会以这种方式工作。
有什么理由吗?保持both,reference和Id字段是最佳做法吗?
答案 0 :(得分:1)
不需要包含Id,但是如果要使用virtual关键字启用延迟加载,并且有些实例只需要对象的Id,则单独包含它可能会很有用。
一个例子是:
public virtual Blog Blog { get; set; }
public int BlogId { get; set; }
有关延迟/急切加载的更多信息: https://msdn.microsoft.com/en-us/library/jj574232(v=vs.113).aspx