私はEFで本当に新たなんだ、と私は問題とsuddenylこだわっている:エンティティフレームワークの列とエンティティの相関?
var _entity = new TestEntity();
_entity.Customers.Add(new Customers { Description = "John" });
_entity.Customers.Add(new Customers { Customer_ID = 1, Description = "Steve" });
try
{
_entity.SaveChanges();
}
catch (System.Data.Entity.Validation.DbEntityValidationException)
{
Debug.Print("Validation Error");
}
このコードを実行した後、私は例外なく2つのレコードinsterted結果を持っているが、私の問題がありますそのCustomer_IDフィールドはnullを許可せず、デフォルト値を定義します。しかし、 "John" -recordにはCustomer_ID:0が挿入されています。 (もちろん、正しいID:1の「Steve」-recordも)
どのようにすれば、値を挿入する前にもっと深く検証し、コードで定義されていない場合は挿入しないでください。
モデルクラスはここにある:
[Key]
[Column(Order = 0)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int Customer_ID { get; set; }
[Column(Order = 1)]
[StringLength(50)]
public string Description { get; set; }
は、int型のデフォルト値はnullでなく、あなたがDBにそれを挿入することができましたこれは0であるあなたに
@GertArnold訂正ありがとう –