Code First POCOでEF 5を使用しています。
リポジトリの SaveChanges 実装は次のとおりです。
public virtual List<DbEntityValidationResult> SaveChanges()
{
var errors = new List<DbEntityValidationResult>();
try
{
DbContext.SaveChanges();
}
catch (DbEntityValidationException ex)
{
errors.AddRange(ex.EntityValidationErrors);
}
return errors;
}
単一の検証エラーにより、エンティティはデータベースに書き込まれません。有効なエンティティが書き出され、無効なエンティティのエラーが返されることを期待していました。
これは EF がどのように行動することになっているのですか?