2017-09-13 32 views
0

我已經創建了一個ASP.NET MVC 5應用程序,使用個人用戶帳戶進行身份驗證和SQL Server 2012 Express。EF數據優先與ASP.NET身份和MVC 5

該模板似乎工作。我可以創建帳戶,管理我的用戶帳戶等。現在我想使用EF創建額外的表格供我的應用程序使用,但由於衝突類(如ApplicationDbContext {})正在創建中,所以我做了一些錯誤。

基本上,我有我的默認AspNet數據庫表,我想在EF設計器中看到它。有一些我想添加到AspNetUsers表中的字段。

我這樣做的方法是「添加項目」,然後選擇「EF Designer from database」。

在EF Designer中包含默認AspNet *表而不生成初始ASP.NET模板創建的衝突類的方法是什麼?我正在使用VS 2015社區。

回答

3

由於您使用的是標識,我不會使用「添加項目」選項對數據庫進行任何更改。

要將新屬性添加到ApplicationUser模型,請找到文件IdentityModels.cs。您應該看到類似於下面的內容。

public class ApplicationUser: IdentityUser 
{ 
    // add new properties here 
    public DateTime DateOfBirth { get; set; } 
} 

此文件也是您將放置新表格/模型的位置。

public class ApplicationDbContext: IdentityDbContext<ApplicationUser> 
{ 
    public ApplicationDbContext() 
     : base("DefaultConnection", throwIfVlSchema: false) 
    public static ApplicationDbContext Create() 
    { 
     return new ApplicationDbContext(); 
    } 
    // Add new tables here 
    public DbSet<NewModel> NewModels { get; set; } 
} 

在做出任何更改之後,您將需要使用EF數據遷移將這些更改提交到數據庫。

要安裝遷移使用軟件包管理器控制檯,然後輸入Enable-Migrations

要添加遷移類型add-migration [enter a description]

要提交到數據庫類型update-database

相關問題