Я просто пытаюсь вставить новую запись в нашу базу данных SQL Server.Вставка происходит изнутри веб-службы WCF с использованием LINQ.
Таблица d_coord_report_conflict структурирована следующим образом:
conflict_report_id int NOT NULL IDENTITY PRIMARY KEY,
booking_id int,
conflict_date date,
coord_user_id int
guide_one_user_id int,
guide_two_user_id int,
product_id int,
price_id int
Все является внешним ключом, кроме конфликта_report_id и конфликта_даты.Вот вставка из службы WCF в C #:
d_coord_report_conflict conflict = new d_coord_report_conflict
{
booking_id = bookingID,
conflict_date = date,
coord_user_id = Convert.ToInt32(item.coordID),
guide_one_user_id = pax.user_id_guide,
guide_two_user_id = Convert.ToInt32(item.guideID),
product_id = Convert.ToInt32(item.productID),
price_id = Convert.ToInt32(item.priceID)
};
db.d_coord_report_conflicts.InsertOnSubmit(conflict);
db.SubmitChanges();
Это должна быть прямая вставка, но она продолжает выдавать следующую ошибку:
Невозможно вставить явное значение для столбца идентификации в таблице'd_coord_report_conflict', когда для IDENTITY_INSERT установлено значение OFF.
Насколько я понимаю, этого не должно происходить.Кроме того, включение IDENTITY_INSERT не является приемлемым решением, как я уверен, что вы понимаете.
ОБНОВЛЕНИЕ: Я восстановил значения каждого поля, если оно передается в запрос LINQ, и предпринял попыткуручная вставка из SQL Server Management Studio, и она работала нормально.нет ошибок вообще.Есть идеи?
Заранее спасибо.