实体框架4.1一对一关系可以为空

时间:2011-06-24 11:12:23

标签: entity-framework-4.1

再次大家好,

我在EF 4.1的逻辑中需要一些帮助 我有一个包含客户数据的表格。我还有另一张表,我需要在需要时进行编译。 所以我最初可以插入一个新客户,几天后我会填写调查表。然后关系必须是一对一和可选的(因为这个调查永远不会为客户编译)。

我在网上挖了一些例子,但我真的被卡住了。

提前谢谢。

1 个答案:

答案 0 :(得分:4)

只需定义您的实体,例如:

public class Customer
{
    public int Id { get; set; }
    ...
    public virtual Survey Survey { get; set; }
}

public class Survey
{
    [Key, ForeignKey("Customer")]
    public int Id { get; set; }
    public virtual Customer Customer { get; set; }
}

如果您不喜欢数据注释,请将其删除并将其放入上下文中的OnModelCreating

modelBuilder.Entity<Customer>()
            .HasOptional(c => c.Survey)
            .WithRequired(s => s.Customer);