我想將默認值IdentityUser與一個名為Permission<TUser>where is this case的自定義泛型類鏈接TUser = IdentityUser。該類定義如下:
public class Permission<TUser> {
public TUser User { get; set; }
public string Identifier { get; set; }
public IEnumerable<string> Restrictions { get; set; }
}
這Identifier是權限的型別,不是唯一的。這意味著該模型只有一個使用用戶外鍵和權限識別符號的復合 pk。這就是我定義的:
builder.Entity<Permission<IdentityUser>>()
.HasKey(p => new {p.User, p.Identifier});
但是要設定權限的外鍵,我必須定義一個關系,我不知道這是哪一個。
uj5u.com熱心網友回復:
看來您從 IdentityUser 到 Permission 是一對多的關系,所以:
builder.Entity<Permission>()
.HasOne<IdentityUser>(p => p.User)
.WithMany();
EF Core 將按照約定分配一個外鍵。如果您的導航屬性是“用戶”,那么 FK 將是“用戶 ID”。
您可以通過繼續上述配置來覆寫外鍵:
.HasForeignKey("IdentityUserId");
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/409252.html
標籤:
上一篇:從Ajax附加的表單元素不起作用
