У меня есть база данных, которая является частью схемы репликации слияния, которая имеет идентификатор GUID, так как это PK. В частности, тип данных: uniqueidentifier, значение по умолчанию (newsequentialid()), RowGUID установлено на Да. Когда я делаю InsertOnSubmit (CaseNote), я думал, что смогу оставить CaseNoteID самостоятельно, и база данных будет вводить следующий Sequential GUID, как если бы вы вручную вводили новую строку в MSSMS. Вместо этого он отправляет 00000000-0000-0000-0000-000000000000. Если я добавлю CaseNoteID = Guid.NewGuid(),
, я получу идентификатор GUID, но не последовательный (я уверен).LINQ to SQL Вставить последовательный GUID
Есть ли способ позволить SQL создать следующий последовательный идентификатор в LINQ InsertOnSubmit()?
Для справки ниже приведен код, который я использую, чтобы вставить новую запись в базу данных.
CaseNote caseNote = new CaseNote
{
CaseNoteID = Guid.NewGuid(),
TimeSpentUnits = Convert.ToDecimal(tbxTimeSpentUnits.Text),
IsCaseLog = chkIsCaseLog.Checked,
ContactDate = Convert.ToDateTime(datContactDate.Text),
ContactDetails = memContactDetails.Text
};
caseNotesDB.CaseNotes.InsertOnSubmit(caseNote);
caseNotesDB.SubmitChanges();
Основываясь на одном из предложений ниже я включил автогенерируемые в LINQ для этого столбца и теперь я получаю следующее сообщение об ошибке ->Целевая таблица заявления DML не может иметь каких-либо включены триггеры если таковые оператор содержит предложение OUTPUT без предложения INTO. Идеи?
Я попробовал это, и теперь я получаю следующее сообщение об ошибке -> Целевая таблица заявления DML не может иметь каких-либо включенных триггеров, если заявление содержит пункт OUTPUT без предложения INTO. –
Почему вы приняли ответ, если он не работает? – guiomie
Для меня это уже было установлено, но БД все еще пытается назначить директиву 0 по умолчанию, а не генерировать. – DCShannon