Я использую EF CTP 4. У меня есть простое консольное приложение (для тестирования), которое использует EF для вставки некоторых данных в базу данных SQL.
Я столкнулся с проблемой, когда, вставив элемент
using(var context = GetContext())
{
BOB b = new BOB();
b.Id = 1;
context.Bobs.Add(b);
context.SaveChanges();
}
Он выдает ошибку: { "Невозможно вставить значение NULL в столбец" Идентификатор ", таблица" TestDB.dbo.BOB "; столбец не допускает нулей. INSERT не работает.\r\nПриложение завершено." }
В таблице только 1 поле Id int NOT NULL, который является первичным ключом, и не автоматически увеличивающийся идентификатор.
При создании DataContext у меня есть эта конфигурация, которая да срабатывает.
protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity<BOB>().HasKey(b => b.Id);
builder.Entity<BOB>().MapSingleType().ToTable("BOB");
}
Я также предварительно заполнил эту таблицу, а затем через отладчик смог просмотреть часы, загружая этот объект BOB... так что я на самом деле тупик, так как для того, чтобы загрузить мои BOB, все правильно... однако при вставке нового он сбой...