我试图让实体框架以某种方式为特殊的一对一关系创建表。
假设我有这组类:
public class Parent
{
public int ID { get; set; }
public string Title { get; set; }
public Child XYZ { get; set; }
}
public class Child
{
public string Property1 { get; set; }
public string Property2 { get; set; }
public string Property3 { get; set; }
}
类的XYZ
属性Parent
可以设置为 的实例Child
。我希望 EF 为这两个类中的每一个创建一个表,并且Child
对象表应该简单地具有一个外键列,最好命名为“ParentID”,以保持与Parent
对象的关系。
我不想在 Parent 表中出现“ChildID”列,也不想在Child
类中添加 ID 或 ParentID 属性。
目前,Child
对象的属性被创建为父表中的列,如果 XYZ 属性未设置为Child
类的实例,我会得到一个异常,即它不能为空。
我正在尝试使用 DbModelBuilder 和 OnModelCreating 事件来做到这一点。IsOptional方法仅适用于简单类型。
有什么建议么?EF甚至可以做到这一点吗?