1
所以我有這個POCO代表我的數據庫中的表:爲什麼使用EF遷移不能將一個布爾列持久保存到我的數據庫中?
// BaseDataObject includes the Id property among others.
public class SupplierDocument : BaseDataObject
{
public int SupplierId { get; set; }
public string Name { get; set; }
public DateTime ExpiryDate { get; set; }
public string MimeType { get; set; }
public byte[] Document { get; set; }
public bool Alerted { get; set; }
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public DbSet<PaymentTerm> PaymentTerms { get; set; }
public DbSet<Supplier> Suppliers { get; set; }
public DbSet<SupplierDocument> SupplierDocuments { get; set; }
public DbSet<SupplierService> SupplierServices { get; set; }
public DbSet<Voucher> Vouchers { get; set; }
public ApplicationDbContext()
: base("DevConnection", throwIfV1Schema: false)
{
}
}
我加在後面的遷移Alerted
財產我已經做了一個更新到數據庫:
public override void Up()
{
AddColumn("dbo.Suppliers", "Area", c => c.String());
AddColumn("dbo.Vouchers", "IssuedFor", c => c.String());
AddColumn("dbo.SupplierDocuments", "Alerted", c => c.Boolean());
}
public override void Down()
{
DropColumn("dbo.Vouchers", "IssuedFor");
DropColumn("dbo.Suppliers", "Area");
DropColumn("dbo.SupplierDocuments", "Alerted");
}
矛盾的是,當我在添加遷移後添加到update-database
時,該列不會被添加到表中。
事情是,我不得不手動添加列,因爲它不包括在add-migration
之後的默認遷移中。
缺少刪除所有的遷移並重新開始使用當前模型(經驗告訴我不能保證解決問題),我怎麼能做到這一點,爲什麼它不工作呢?
性能我甚至不能說得出結論,出現這種情況只有* *與布爾字段。這次就是這種情況。 – Ortund
我在web.config中有另一個名爲*「LiveConnection」*的連接字符串,它的目標是一個遠程數據庫而不是。\ SQLEXPRESS – Ortund
'update-database -verbose'顯示什麼? –