Я только начал играть с инфраструктурой сущности, поэтому решил подключить его к существующей базе данных SQL Server CE. У меня есть таблица с первичным ключом IDENTITY (1, 1), но когда я попытался добавить объект, у меня есть вышеупомянутая ошибка.
Из MS Technet artice Я узнал, что
SQL Server Compact не поддерживает сущности с генерируемыми сервером ключами или значениями, когда он используется с Entity Framework. При использовании Entity Framework ключи сущностей могут быть помечены как созданные сервером. Это позволяет базе данных генерировать значение для ключа при вставке или создании сущности. Кроме того, нулевые или более свойства объекта могут быть помечены как генерируемые сервером значения. Дополнительные сведения см. В разделе "Сохраненный шаблон" в документации по платформе Entity Framework. SQL Server Compact не поддерживает сущности с генерируемыми сервером ключами или значениями, когда он используется с Entity Framework, хотя Entity Framework позволяет вам определять типы сущностей с помощью ключей или значений, сгенерированных сервером. Операция манипуляции данными с сущностью, которая имеет генерируемые сервером значения, генерирует исключение "Не поддерживается".
Итак, теперь у меня есть несколько вопросов:
- Почему бы вам пометить ключ как сгенерированный сервером, если он не поддерживается и будет генерировать исключение? Это трудно сделать из цитированного абзаца.
- Когда я попытался добавить StoreGeneratedPattern = "Identity" в свой объект entity, Studio жаловалась, что это запрещено. Что я делаю неправильно?
- Какое наилучшее решение для этого ограничения (включая переход на другой БД)? Мои ограничения - нулевая установка и использование сущности framework.