我在ApplicationUser中添加了几个自定义字段:
public class ApplicationUser : IdentityUser
{
public enum BUserType {IndividualBuyer, IndividualSeller, Broker, Admin};
public string DisplayName;
public BUserType UserType;
我已经更新了所有视图和控制器,我可以通过我的网络应用程序创建新用户。大。
但是,我的数据库种子功能不会将新字段添加到我的用户。例如,如果我在初始化程序中创建新用户,则不会填写新字段。
public class ListingInitializer : System.Data.Entity.DropCreateDatabaseAlways<ApplicationDbContext>
{
protected override void Seed(ApplicationDbContext context)
{
var userStore = new UserStore<ApplicationUser>(context);
var userManager = new UserManager<ApplicationUser>(userStore);
if (!(context.Users.Any(u => u.UserName == "arnold@pizzashop.com")))
{
var userToInsert = new ApplicationUser { UserName = "arnold@pizzashop.com", DisplayName = "Arnold Toughguy", UserType = ApplicationUser.BUserType.IndividualSeller };
userManager.Create(userToInsert, "password1234");
}
所以我的问题是,这里可能出现什么问题?我假设userManager.Create做了一些花哨的反射到linq伏都教来找到要保留的所有字段。这不是这种情况吗?我是否必须在某处添加绑定?
答案 0 :(得分:0)
只是一个想法,你可以在你的POCO课程之外移动枚举定义后尝试一次,虽然我并不完全确定这同样可以解决你的问题。
您也可以参考此视频,它可能对您有所帮助:http://thedatafarm.com/data-access/video-entity-framework-5-enums-and-moving-solution-from-ef-4-3/。