我有兩個班級:
public class Client
{
public int Id { get; set; }
}
public class ClientRequest
{
public int Id { get; set; }
public int ClientId { get; set; }
public virtual Client Client { get; set; }
}
我不能Client以任何方式修改類(它是外部的);我想在這兩個模型之間配置單向一對多關系。所以Client 1 ← * ClientRequest我只能從 導航ClientRequest到Client。我怎樣才能做到這一點?
在 EFCore 中,我會這樣做:
entity.HasOne(e => e.Client)
.WithMany()
.HasForeignKey(e => e.ClientId)
.OnDelete(DeleteBehavior.ClientSetNull);
但我在 EF 6.4.4 中沒有這些方法。
會不會像這樣簡單:
modelBuilder?.Entity<ClientRequest>()
.HasRequired(e => e.Client);
uj5u.com熱心網友回復:
在 EF 6.4.4 中配置這樣的關系:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<ClientRequest>()
.HasRequired(x => x.Client)
.WithMany()
.HasForeignKey(x => x.ClientId)
.WillCascadeOnDelete(false);
base.OnModelCreating(modelBuilder);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/389224.html
上一篇:為什么.Net回傳無窮大?
