Entity Framework Guid

asp.net c# entity-framework

Вопрос

Я пытаюсь настроить Entity Framework с SQL Server 2008. Я использую направляющие для ключей на моих таблицах. Есть ли способ настроить его так, чтобы ключи автоматически генерировались базой данных? Я попытался установить "RowGuid" в true, а также установить значение по умолчанию столбца "(newid ())". В любом случае сопоставленный класс все еще нуждается во мне, чтобы дать ему Guid на стороне C #. Есть идеи?

Принятый ответ

Еще нет :

17.4.Могу ли я использовать сгенерированный сервером guid в качестве моего ключа сущности?

К сожалению, в v1 EF это не поддерживается. Хотя в SQL Server возможно иметь столбец типа «uniqueidentifier» и установить его значение по умолчанию равным «newid ()», в SQL Server 2000 нет хорошего способа извлечь значение, которое сервер сгенерировал во время вставки. Это может быть сделано в более поздних версиях SQL Server, однако, цель состоит в том, чтобы мы нашли чистый способ для особого случая этой поддержки в будущих версиях EF, чтобы она могла поддерживаться на тех базах данных, которые позволяют это, а не на другие. В настоящее время обходной путь заключается в создании guid на клиенте (в идеале в конструкторе вашего объекта), а не на сервере.


Популярные ответы

Лично я думаю, что любой, кто использует EF, захочет отказаться от совместимости с SQL Server 2000, чтобы получить необходимые функции. Кажется, что все наполовину нетривиальные вещи, которые мне нужно сделать в EF, не поддерживаются, потому что они должны поддерживать совместимость с SQL Server 2000.

Когда это когда-нибудь закончится!



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему