0
EF6 사용 A(1)---(0..1)C(0..1)---(1)B
((x)
은 카디널리티)을 정의하려고합니다. 표 C는 A와 B의 2 개의 외래 키의 복합 키를 사용합니다.테이블에 복합 키를 one-to-zero-or-one 관계로 설정하십시오.
// Other properties are omitted for brevity
public class A
{
public int Id { get; set; }
public virtual C C { get; set; }
}
public class B
{
public int Id { get; set; }
public virtual C C { get; set; }
}
public class C
{
public virtual A A { get; set; }
public virtual B B { get; set; }
}
이것은 유창한 API입니다.
public class C : EntityTypeConfiguration<C>
{
public C()
{
// Primary Key
this.HasKey(t => new { t.A, t.B}); // This is the problem
// Relationships
this.HasRequired(t => t.A)
.WithOptional(t => t.C);
// cannot use .HasForeignKey
this.HasRequired(t => t.B)
.WithOptional(t => t.C);
// cannot use .HasForeignKey
}
}
HasKey(t => new { t.A, t.B})
허용하고 보통 .HasForeignKey
설정 스칼라 속성을하지 않습니다. 그러나 그것은 일대일이기 때문에 사용할 수 없습니다.
어떻게해야합니까?
나는 EF6에 의해 무언가를 지원하려고 노력하고있는 것 같습니다. 나는 비슷한 것을 생각하고 있었다. –