У меня есть таблица базы данных SQL Server 2008 года, которая использует uniqueidentifier в качестве первичного ключа. На вставках ключ сгенерирован на стороне базы данных с помощью newid () функция.
Это хорошо работает с ADO.NET. Но когда я настроил эту таблицу как объект в модели Entity Framework 4, существует проблема. Я могу запросить объект очень хорошо, но при создании нового объекта и вызове SaveChanges () на контексте, сгенерированный uniqueidentifier на базе данных является всеми нулями.
Я понимаю, что была проблема с EF v1, где этот сценарий не работал, требуя создания GUID на клиенте до вызова SaveChanges. Однако я читал во многих местах, что они планировали зафиксировать это в EF 4.
Моим вопросом - является этот сценарий (поколение стороны DB uniqueidentifier) все еще не поддерживаемый в EF4? Мы все еще застревают с генерацией GUID на клиенте?
Спасибо, ребята, наконец-то разобрался. Blogged the answer here:
Да, это изменилось в EF 4. Теперь вы можете использовать GUID, сгенерированный сервером ]. @MusiGenesis, GUID, сгенерированные сервером, имеют некоторые преимущества; они могут быть последовательными, например