[英]Entity Framework 6 FluentApi One-to-One Relationship configuration
[英]One to One Relationship With Same Entity Type - FluentAPI
只是有點擔心如何為與同一實體的一對一關系配置 EF,這對我來說是一種罕見的情況。 我想到了這個要求,我對如何對此建模持懷疑態度。
這是場景,
一個病人可以有一個伙伴,一個伙伴只能屬於一個病人。 伴侶也是患者。
我有這樣的模型;
public class Patient
{
public long Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public EGender Gender { get; set; }
public DateTime DateOfBirth { get; set; }
public DateTime CreatedAt { get; set; }
public long PartnerId { get; set; }
public Patient Partner { get; set; }
public EPatientType PatientType { get; set; }
}
我的 FluentAPI 配置是這樣的,但不確定我做對了
builder.HasOne(p => p.Partner)
.WithOne(p => p.Partner) // Not sure what to do here
.IsRequired(false)
.HasForeignKey<Patient>(p => p.PartnerId)
.OnDelete(DeleteBehavior.Restrict);
任何關於如何在 fluentAPI 上對此建模或如何進行的想法表示贊賞......
[索引(“IX_UniqueParentId”,1,IsUnique = true)]
public long? PartnerId { get; set; }
嘗試使用:
builder.HasOne(p => p.Partner)
.WithOne()
.IsRequired(false)
.HasForeignKey<Patient>(p => p.PartnerId);
它對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.