Если вы использовали ASP.NET MVC 4, вы заметите, что по умолчанию для интернет-приложения используется поставщик SimpleMembership, все это хорошо, хорошо и отлично работает.
Проблема связана с генерацией базы данных по умолчанию, у них есть POCO для UserProfile
, определенной так:
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
}
.., который затем генерируется следующим образом:
using (var context = new UsersContext())
{
if (!context.Database.Exists())
{
// Create the SimpleMembership database without Entity Framework migration schema
((IObjectContextAdapter)context).ObjectContext.CreateDatabase();
}
}
Это прекрасно работает, база данных генерируется просто отлично и работает без проблем. Однако, если я должен изменить POCO, как это, и удалить базу данных:
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string EmailAddress { get; set; }
public string FirstName { get; set; }
public string Surname { get; set; }
public string Country { get; set; }
public string CompanyName { get; set; }
}
Создаются только первые 2 столбца, UserId
и EmailAddress
. Он работает очень хорошо по коду (говорит логин/регистрация), но, очевидно, ни одна из моих других пользовательских данных не сохраняется.
Я что-то упустил? Разумеется, он должен генерировать базу данных на основе всего объекта UserProfile
.