Я новичок в asp.net mvc3
Я пытаюсь сохранить дополнительную информацию о пользователе через стандартного поставщика членства asp.net. Я создал новый объект UserAddress и синхронизировал его с таблицами aspnet _с помощью API членства.
Однако теперь, если я внесу какие-либо изменения в класс UserAddress -, asp.net не удаляет и не воссоздает модель. Я получаю ошибку
Невозможно удалить базу данных, поскольку она используется.
Я искал stackoverflow и google. В принципе, моя проблема похожа на эту
Ошибка использования базы данных с Entity Framework 4 Code First
Однако я не уверен, как реализовать то, что предлагает Крис в качестве решения :
. «Это происходило со мной, потому что я вызывал методы членства для БД, и это создавало конфликт. Я разрешил это, заставив инициализатор запускаться и запускать перед использованием системы членства»
Я почти уверен, что это причина, по которой используется база данных, потому что мой код падает в этот момент в хранилище данных:
var userid = Membership.GetUser.ProviderUserKey.ToString();
return db.UserAddress.SingleOrDefault(a => a.UserId == userid);
Как я могу заставить инициализатор работать до системы членства?
Фрагмент моего кода ниже:
public class UserAddress
{
public int UserAddressId { get; set; }
public string UserId { get; set; }
public string FlatNo { get; set; }
public string BuildingName { get; set; }
public string Address1 { get; set; }
public string Address2 { get; set; }
public string PostCode { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Country { get; set; }
public long MobilePhone { get; set; }
}
public class NPLHWebsiteDb : DbContext
{
public DbSet UserAddress { get; set; }
}
public class NPLHWebsiteInitializer : DropCreateDatabaseIfModelChanges
{
protected override void Seed(NPLHWebsiteDb context)
{
var userAddress = new List
{
new UserAddress {
UserAddressId = 1,
UserId = "153",
FlatNo = "6.4",
BuildingName = "Wilton Plaza",
MobilePhone = 9810110123,
}
};
userAddress.ForEach(a => context.UserAddress.Add(a));
context.SaveChanges();
}
Спасибо