![](/img/trans.png)
[英]Entity Framework not using my foreign key but generating a new column instead
[英]Entity Framework generates new column rather then linking the mentioned foreign key
我正在使用代碼優先的方法來創建數據庫表。 當遷移發生時,它會在數據庫表名Complaints
中創建一個新的列名ReceiverUserInfoId
。 我已將 forgein 鍵關系定義為:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.HasAnnotation("Relational:Collation", "SQL_Latin1_General_CP1_CI_AS");
modelBuilder.Entity<Complaint>()
.HasOne(x => x.ReceiverUserInfo)
.WithMany()
.HasForeignKey("ReceivingOfficer")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
}
Model 用於Complaint.cs
。 ReceivingOfficer
列應鏈接到數據庫表AspNetUsers
中的列名Id
public class Complaint
{
[Key]
public int? ComplaintID { get; set; }
...
public string ReceivingOfficer { get; set; }
...
public virtual User ReceiverUserInfo { get; set; }
}
這是User.cs
model
public class User : IdentityUser
{
public string FullName { get; set; }
public DateTime DateCreated { get; set; }
public DateTime DateModified { get; set; }
}
我已嘗試使用您提供的信息復制您的問題,它對我有用。 請仔細檢查以下幾點:
modelBuilder
器嗎? 如果是,您確定該文件包含在OnModelCreating
中嗎
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.