EF Code First和modelbuilder - 如何使用相同的ID建立一对一的关系?

时间:2012-11-09 16:29:55

标签: entity-framework foreign-keys entity-relationship one-to-one

我有两个班级:

public class Account
{
   public int Id {get;set;}

   public PayoffData PayoffData {get;set;}
}

public class PayoffData
{
   public int Id {get;set;}
   //some other fields
}

现在,我希望类PayoffData具有类Account具有的相同ID,并且它必须是一对一的关系(帐户可以(或不能)具有一个支付数据)

我尝试过对模型构建器做一些事情,但到目前为止我可以看到在PayoffData类中设置一个外键,我需要设置一个.HasMany关系,我不知道想。如何使用modelbuilder解决我的问题? (我不想使用数据注释方法)

1 个答案:

答案 0 :(得分:1)

modelBuilder.Entity<Account>()
    .HasOptional(a => a.PayoffData)
    .WithRequired();

两个表都有一个名为Id的主键列,Id表中的主键PayoffData将成为同一Account表的外键时间。