我正在使用 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';列不允许空值。INSERT 失败。\r\n语句已终止。”}
该表只有 1 个Id int NOT NULL字段,它是主键,不是自动递增的 Id。
在创建 DataContext 时,我有这个配置,是的,它确实被解雇了。
protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity<BOB>().HasKey(b => b.Id);
builder.Entity<BOB>().MapSingleType().ToTable("BOB");
}
我还预先填充了这个表,然后通过调试器能够通过监视加载这个 BOB 对象......所以我真的很难过,至于能够加载我的 BOB 表明一切都很好......但是插入一个新的就崩溃了...