我与
有一对一的关系1盒完全属于1双鞋。
如何定义导航/外键属性?
答案 0 :(得分:0)
EF允许您以一对一的关系映射FK的唯一方法是在依赖端将FK声明为PK时(检查此link以获取更多信息)
//Principal end
public class Shoes
{
public int Id { get; set; }
public virtual Box Box { get; set; }
}
//Dependent end
public class Box
{
[Key,ForeignKey("Shoes")]
public int ShoesId { get; set; }
public Shoes Shoes { get; set; }
}
现在,关于延迟加载行为,如果要为实体启用延迟加载并让实体框架跟踪更改发生时类中的更改,则必须遵循一些requirements。如果您没有将导航属性声明为virtual
(如Shoes
实体中的Box
),则由于EF不会创建代理对象,因此不会延迟加载支持更改跟踪和延迟加载。