2016-06-11 56 views
1

我正在建立一个应用程序,使用ASP.Net MVC 5框架和数据库代码方法。 我需要添加自定义字段到我的用户表。添加自定义属性并稍后访问它们的最佳方式是什么? 以下是我迄今所做如何使用ASP.NET MVC 5框架将自定义属性添加到我的用户模型中?

  1. 登录到SQL Server和添加列到AspNetUsers 表。
  2. 我创建了一个新类,其中ApplicationUser类似于我的User类。

    public class User : ApplicationUser 
         { 
          public int UserId { get; set; } 
          public int CampId { get; set; } 
         } 
    

此外,我尝试添加我的自定义属性为ApplicationUser一样,直接在another question答案找到了insstruction,但我得到以下错误

The model backing the 'ApplicationDbContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269). 

什么是最好的方式将列添加到我的AspNetUsers表中?

另外,如何使用授权用户从控制器访问这些字段?

+0

我知道不再支持数据库第一种方法 – ArgeKumandan

回答

1

您必须使用代码优先迁移。

在VS去包管理器控制台,输入:

enable-migrations 

那么你可以到你的ApplicationUser类如生日或任何属性添加。

然后返回到程序包管理器控制台,然后运行:

Add-Migration aNameForYourMigration 

因此,举例来说,如果你已经添加了一个生日属性,你或许会命名为BirthdaypropertyAddedMigration或任何对你有意义。

然后运行:

Update-Database 

现在所有的ApplicationUser级的更改将保存到数据库。

但是,如果您使用数据库方法,则必须将新字段添加到用户表中,然后调用更新模型以重新生成代码。

相关问题