一对一关系ef codefrist

时间:2016-10-01 11:25:45

标签: c# entity-framework poco ef-fluent-api

我有3个班级

public class StockDef
{
    public int Id { get; set; }
    public int StockType { get; set; }
    public virtual OfficeStock SayanStock { get; set; }
    public virtual AgentStock AgentStock { get; set; }
    //....
}

public class OfficeStock
{
    public virtual StockDef StockDef { get; set; }
    //....
}

public class AgentStock
{
    public virtual StockDef StockDef { get; set; }
    //......
}

每个StockDef对象肯定有(一个OfficeStock或一个AgentStock) 每个OfficeStock都有一个StockDef 每个AgentStock肯定都有一个StockDef 如何在EF Code中首先通过流畅的API实现这一点? TNX

1 个答案:

答案 0 :(得分:0)

您无法使用流畅的api配置StockDef(约束“只能编译一个属性”),您必须添加一个实现IValidatableObject接口的自定义验证。

您还可以在数据库上添加约束(触发器?),以避免其他人插入错误的记录。

此外,关于1-1关系配置,您可以在这里查看 Code First migration when entities have cross references with foreign keys