0

我是否能使用實體框架模型(類)的類asp.net身份asp.net身份類

讓我在我的數據庫中的關係將被加載時,我檢索用戶,如果我更新任何列或添加表,我只需要處理實體框架模型。

我做我的自定義類用戶

public class MyUser : IdentityUser<long, MyLogin, MyUserRole, MyClaim>{ ... } 

,並與表

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
     { 
      base.OnModelCreating(modelBuilder); 
      modelBuilder.Entity<MyUser>().ToTable("Users"); 
      ..... 
     } 

,但我有一個與「用戶」表連接多個表連接它不是用身份模型 例如:

我有一個名爲人的表(不只是一個例子)

而且每個人可能有許多用戶和每個用戶可以有很多 人

所以我們叫另一個表「PersonsUsers」

所以用戶有一個列表

我不不想調用數據庫兩次來檢索單個用戶數據,並且從代碼映射表將使我的代碼變爲靜態,並取決於我更新源代碼。

so是否可以使用EF爲表格生成的類?

你有其他解決方案嗎?

回答

0

是的,這是可能的。您的MyUser類可以擁有一個包含Person列表的屬性。那麼在你的模型構建器中,你建立了映射。像這樣的東西:

modelBuilder.Entity<MyUser>().HasMany(m => m.Person) 
           .WithMany(p => p.MyUser) 
           .Map(m => { 
            m.ToTable("PersonUsers"); 
            m.MapLeftKey("MyUserID"); 
            m.MapRightKey("PersonID"); 

我相信這會實現你在找什麼。

+0

謝謝你的答案matty,但這將使我的代碼靜態,我必須更新它,當我添加或修改一個關係,有什麼方法可以使用EF類?我也有一些我添加的用戶領域,並且想要包括我怎麼做? – iYazee6

+0

我不知道我完全明白你想要做什麼。也許你可以在你的文章中給出更詳細的例子? –