Ef Code first一对一关系,id为外国人

时间:2011-09-26 20:21:24

标签: entity-framework-4 ef-code-first

我正在进行一对一关系的映射,id为“foreign”,我无法更改数据库

这些是表格

CUTOMER

  • int CustomerId
  • string Name

为CustomerDetail

  • int CustomerId
  • 字符串详情

实体Splittitng对我不起作用,因为我需要左外连接。 任何想法?

提前致谢, 抱歉我的英语。

1 个答案:

答案 0 :(得分:1)

您可以在此处使用共享主键映射。

public class Customer
{
    public int CustomerId { get; set; }

    public string Name { get; set; }

    public virtual CustomerDetail CustomerDetail { get; set; }
}

public class CustomerDetail
{
    public int CustomerId { get; set; }

    public string Details { get; set; }

    public virtual Customer Customer { get; set; }
}

public class MyContext : DbContext
{
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<CustomerDetail>().HasKey(d => d.CustomerId);

        modelBuilder.Entity<Customer>().HasOptional(c => c.CustomerDetail)
            .WithRequired(d => d.Customer);
    }
}