Невозможно удалить базу данных, поскольку она используется + сначала код EF

Я новичок в 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();
    }

Спасибо

5
задан Community 23 May 2017 в 10:31
поделиться