2011-01-01 4 views
2

Не поддерживает ли Entity Framework 4 идентификатор guid, сгенерированный на сервере при вставке? У меня есть поля Id, для которых установлено значение по умолчанию для newid(), но Entity Framework устанавливает значение для пустого guid. В итоге я получаю пустой указатель в базе данных и пустой указатель в поле id моего объекта. Это еще не поддерживается или мне нужно что-то менять на моей модели?EF4 и Server Generated UniqueIdentifier Id

ответ

1

Найдено решение. В принципе, разметка структуры объекта не генерируется должным образом.

http://leedumond.com/blog/using-a-guid-as-an-entitykey-in-entity-framework-4/
(неработающая ссылка, перенаправляет на публичность)

+0

Как вы заметили, дизайнер и волшебники в VS не синхронизируют SSDL и CSDL; в этом случае StoreGeneratedPattern, но то же самое относится ко многим другим атрибутам тоже. У меня есть инструмент, который позволяет легко обнаружить и исправить это, см. Функцию «Сравнение моделей» в http://huagati.com/edmxtools/ – KristoferA

+0

@David Osborn ссылка не работает – Samuel

+0

-1: ссылки-ответы не полезны ; когда ссылки в конечном итоге ломаются, как и просто, ответ не полезен. – ANeves

0

Там проблема с конструктором Entity в Visual Studio, что означает, что обновление поля «StoreGeneratedPattern» не правильно обновить сгенерированный код. В свою очередь, это означает, что EF передает GUID объекта SQL Server, поэтому сервер не запускает newid() или newsequentialid().

Как говорит Дэвид, Microsoft выпустила patch.

Смежные вопросы