我是新來的ASP.NET MVC3無法刪除數據庫+ EF代碼第一
我試圖存儲超過標準的ASP.NET成員提供額外的用戶信息。我創建了一個新的實體UserAddress,並使用成員API將其與aspnet_tables同步。
不過,現在如果我做任何更改UserAddress類 - asp.net不刪除並重新創建模型。我得到的錯誤,因爲它是在使用
無法刪除數據庫。
我已搜查計算器和谷歌。基本上,我的問題是類似這樣的
Database in use error with Entity Framework 4 Code First
但是,我不知道如何實現什麼克里斯提出的解決方案:
「這是發生在我身上,因爲我打電話對會員的方法DB和那是創建一個衝突。我解決這個迫使初始化器運行和種子之前使用會員制度「
我非常確定這是爲什麼數據庫正在使用的原因,因爲我的代碼在數據存儲庫中的這一點:
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> UserAddress { get; set; }
}
public class NPLHWebsiteInitializer : DropCreateDatabaseIfModelChanges<NPLHWebsiteDb>
{
protected override void Seed(NPLHWebsiteDb context)
{
var userAddress = new List<UserAddress>
{
new UserAddress {
UserAddressId = 1,
UserId = "153",
FlatNo = "6.4",
BuildingName = "Wilton Plaza",
MobilePhone = 9810110123,
}
};
userAddress.ForEach(a => context.UserAddress.Add(a));
context.SaveChanges();
}
感謝
我只是在' db.Database.Initialize(true);'現在改爲。 – mpen 2012-09-05 04:02:13