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");
}
逆説的に、マイグレーションを追加した後、I update-database
になったときに列がテーブルに追加されません。
実際には、移行に含まれていなかったカラムを手動で追加する必要がありました(add-migration
以降)。
すべてのマイグレーションを削除し、現在のモデルからやり直すのは、私にはわかりませんが、どうにかして問題を解決することはできません。
を「NULL可能」と「はdefaultValue」プロパティを供給してください私もこれはブールフィールドに*だけ*が起こることを決定的に言うことはできません。これは今度の場合です。 – Ortund
私はweb.config内に別の接続文字列を* "LiveConnection" *としています。これは、\ SQLEXPRESSの代わりにリモートデータベースを対象としています。 – Ortund
'update-database -verbose'は何を表示しますか? –