2017-01-11 137 views
0

我添加了一個新的領域,以MVC的身份模型,添加自定義字段identitymodel

public class ApplicationUser : IdentityUser 
{ 
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager) 
    { 
     // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType 
     var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie); 
     // Add custom user claims here 
     return userIdentity; 
    } 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int AccountID { get; set; } 
    public int JeAdmin { get; set; } 
    public Ekipa Ekipa { get; set; } 
} 

我ekipa類由以下部分組成:

 public class Ekipa 
{ 
    public int id { get; set; } 
    public string Ime { get; set; } 
    public int LeaderID { get; set; } 
    public int Geslo { get; set; } 

} 

如何設置一個對象,我從數據庫獲取到登錄的用戶? 我獲取當前用戶,

 ApplicationDbContext db = new ApplicationDbContext(); 
     var currentUserId = User.Identity.GetUserId(); 
     var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())); 
     var currentUser = manager.FindById(User.Identity.GetUserId()); 
     EkipaDb db1 = new EkipaDb(); 
     currentUser.Ekipa = db1.Ekipa.Where(m => m.id == 1); 

我如何從EkipaDb的對象,其中ID爲1,並將其添加到當前用戶?

回答

0

不能將對象添加到數據庫表的列 - 但可以添加外鍵。

地址:

public int EkipaId { get; set; } 

,使Ekipa對象虛擬:

[ForeignKey("EkipaId")] 
public virtual Ekipa Ekipa { get; set; } 

這將Epika對象的Id存儲在ApplicationUser表,並且您可以使用導航屬性檢索該對象本身在加載時爲ApplicationUser

+0

謝謝。我認爲這是MVC中的某種可能性。 :) – Ashley

+0

不客氣,它比MVC更多的實體框架,但... –

相關問題