Entity Framework 5.0.0 は、int フィールドに含まれている場合に [Required] 属性を無視するようで、例外をスローする代わりに 0 値を自動的に含めます。ただし、フィールドが文字列の場合、必須属性は機能するようです。以下の単純なモデルと作成関数は、例外をスローしません。簡潔にするために、DbSet Degrees を持つ DbContext クラスは示されていません。
public class Degree
{
public int Id { get; set; }
public string Name { get; set; }
[Required]
public int Field { get; set; }
}
private static void CreateDegree()
{
var degree = new Degree { Name = "Mechanical Engineering" };
var db = new Context();
db.Degrees.Add(degree);
// try statement
}
これは私の単純な誤解かもしれませんが、どんな考えや助けも大歓迎です。