2013-11-28 58 views
1

我試圖將自定義屬性添加到身份用戶2013 Spa模板。當我在F12中獲取不可編輯的部件中的模型時,Identity用戶模型不在該項目中。我已閱讀教程,以便爲Identity模型添加出生日期,但此示例講述瞭如何從Web Forms預期中更改身份用戶模型,並且似乎要編輯UserIdentity模型。如何將自定義屬性添加到AspNetUser表中?SPA模板VS2013自定義屬性IdentityUser

回答

0

我發現一樣。網上的大多數SPA模板資源似乎都與較早版本(VS2012)的模板相關,這很令人困惑。但是,通過比較MVC模板生成的代碼,我計算出了我需要做的事情。

  1. 在Models文件夾中創建您自己的「ApplicationIdentity」和「ApplicationDbContext」類。在ApplicationIdentity類定義中包含所需的任何其他屬性。在下面的示例代碼中,我爲電子郵件地址添加了一個字符串。

    using Microsoft.AspNet.Identity.EntityFramework; 
    
    namespace SimpleSPA.Models { 
    
        public class ApplicationUser: IdentityUser 
        { 
         public string Email { get; set; } 
        } 
    
        public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
        { 
         public ApplicationDbContext():base("DefaultConnection") 
         { 
         } 
        } 
    } 
    
  2. 使用解決方案搜索和替換用您的新ApplicationUser替換對「IdentityUser」的所有引用。

  3. 更新Startup.Auth.cs中的啓動靜態構造函數,以便UserManagerFactory初始化包含新的ApplicationDbContext,如下所示。

    UserManagerFactory =() => new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())); 
    
  4. 重新構建解決方案,檢查構建是否正常。

  5. 啓用實體框架代碼首先使用包管理器(PM)控制檯中的「啓用遷移」命令進行遷移。

  6. 使用PM命令「Add-Migration Initial」添加初始遷移。

  7. 使用PM命令「更新數據庫」初始化數據庫。

如果連接到生成的數據庫,您應該看到AspNetUsers表中包含了用於其他ApplicationUser屬性的列。我還沒有走得更遠,但我希望能夠通過使用ApplicationUser而不是基本的IdentityUser來訪問我的新屬性。

+0

我已經試過這個,並沒有能夠得到它的工作。任何成功的人? –

+0

你能更具體地說明什麼不起作用嗎? – PhilDotC

相關問題