У меня есть составной первичный ключ (Int и DateTime) в одной из моих таблиц. Когда я пытаюсь добавить новую запись, используя LINQ (с полем DateTime, установленным в «AutoGeneratedValue = true», и getdate () в качестве значения по умолчанию на сервере), я получаю следующие ошибки:
Столбец первичного ключа типа «DateTime» не может быть создан сервером.
Есть идеи, почему это так? Я верю, что это работало раньше, но я не могу понять, что заставило бы это перестать работать. К сожалению, есть немного конкретной информации об этом виде ошибки.
Кроме того, ручная фиксация строки через SQL Server Management Studio работает нормально и корректно автоматически генерирует значение datetime.
Редактировать - все заработало - Должна быть ошибка в LINQ to SQL : я заработал, если установил «IsPrimaryKey» для DateTime в false в DBML, сохраняя составной ключ в базе данных сторона.
Так что это работает:
- SQL Server: составной первичный ключ (Id INT, MyDate DATETIME - AUTOGENERATED)
- DBML: пометить только Id в качестве первичного ключа. Пометить MyDate как автоматически созданную, но , а не как первичный ключ.
Я думаю, что это ошибка в LINQ to SQL.