Я пытался вставить строку в таблицу с идентификатором столбца RequestID (который также является первичным ключом)
HelpdeskLog logEntry = new HelpdeskLog { RequestBody = message.Body };
if (attachment != null)
logEntry.Attachments = Helper.StreamToByteArray(attachment.ContentStream);
Database.HelpdeskLogs.InsertOnSubmit(logEntry);
Но мой код неизбежно выдает следующую ошибку
Невозможно выполнить операции создания, обновления или удаления для таблицы, так как у нее нет первичного ключа.
несмотря на то, что столбец первичного ключа действительно существует
Вот что я пытался сделать:
- Чтобы посмотреть в отладчике значение идентификатора столбца, вставляемого в объектную модель. Это 0
- Вставить вручную (с SQL) поддельные значения в таблицу - работает нормально, значения идентичности генерируются, как ожидалось
- Чтобы убедиться, что SQLMetal правильно сгенерировал карту таблиц. Все ОК, атрибут первичного ключа сформирован правильно
Тем не менее, ни один из подходов не помог. Что за хитрость, кто-нибудь знает?