Платформа объекта - SaveChanges с GUID как EntityKey

У меня есть таблица базы данных SQL Server 2008 года, которая использует uniqueidentifier в качестве первичного ключа. На вставках ключ сгенерирован на стороне базы данных с помощью newid () функция.

Это хорошо работает с ADO.NET. Но когда я настроил эту таблицу как объект в модели Entity Framework 4, существует проблема. Я могу запросить объект очень хорошо, но при создании нового объекта и вызове SaveChanges () на контексте, сгенерированный uniqueidentifier на базе данных является всеми нулями.

Я понимаю, что была проблема с EF v1, где этот сценарий не работал, требуя создания GUID на клиенте до вызова SaveChanges. Однако я читал во многих местах, что они планировали зафиксировать это в EF 4.

Моим вопросом - является этот сценарий (поколение стороны DB uniqueidentifier) все еще не поддерживаемый в EF4? Мы все еще застревают с генерацией GUID на клиенте?

9
задан MissingLinq 13 May 2010 в 13:37
поделиться

2 ответа

Спасибо, ребята, наконец-то разобрался. Blogged the answer here:

https://web.archive.org/web/20100518175148/http://leedumond.com/blog/using-a-guid-as-an-entitykey-in-entity-framework-4/

6
ответ дан 4 December 2019 в 21:08
поделиться

Да, это изменилось в EF 4. Теперь вы можете использовать GUID, сгенерированный сервером ]. @MusiGenesis, GUID, сгенерированные сервером, имеют некоторые преимущества; они могут быть последовательными, например

4
ответ дан 4 December 2019 в 21:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: