EF CTP 4を使用しています。EFを使用してSQLデータベースにデータを挿入する単純なコンソールアプリ(テスト用)があります。
アイテムを挿入すると問題が発生しました
using(var context = GetContext())
{
BOB b = new BOB();
b.Id = 1;
context.Bobs.Add(b);
context.SaveChanges();
}
エラーがスローされます:{"値NULLを列'Id'、テーブル'TestDB.dbo.BOB'に挿入できません;列はnullを許可しません。INSERTは失敗します。\r\nステートメントは終了しました。"}
テーブルには、主キーであり、自動インクリメントされたIDではないId intNOTNULLのフィールドが1つだけあります。
DataContextの作成時に、この構成がありますが、これは実行されます。
protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity<BOB>().HasKey(b => b.Id);
builder.Entity<BOB>().MapSingleType().ToTable("BOB");
}
また、このテーブルを事前に入力してから、デバッガーを介してこのBOBオブジェクトをウォッチロードできるようになりました...したがって、BOBをロードできることは、すべてが正しいことを示しているので、本当に困惑しています...しかし新しいものを挿入すると、クラッシュします...