Entity Framework Code First 一對一關聯設定

在兩個類別之間,各自包含一個引用屬性,就會被當成一對一關系
只是那張是主資料表,需要利用Fluent API來設定

主資料表

using System.ComponentModel.DataAnnotations;

public partial class TableA
{
[Key]
public int TabId { get; set; }

public int C1 { get; set; }

public virtual TableB TableB { get; set; }
}

對應的資料表
using System.ComponentModel.DataAnnotations;

public partial class TableB
{
[Key]
public int TabId { get; set; }

public int CC1 { get; set; }

public virtual TableA TableA { get; set; }
}

設定關聯
using System.Data.Entity;

public partial class DemoContext : DbContext
{
public DemoContext()
: base(“name=DemoContext”)
{
}

public virtual DbSet<TableA> TableA { get; set; }
public virtual DbSet<TableB> TableB { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<TableA>()
.HasOptional(x => x.TableB)
.WithRequired(x => x.TableA);
}
}

建立出一對一關系的資料表

關聯圖