Уникальные идентификаторы базы данных во всем мире с использованием Entity Framework - PullRequest
1 голос
/ 04 августа 2010

Я хочу иметь уникальные идентификаторы объектов для всей базы данных. Есть ли встроенная функция в EF? Или может быть есть какие-то практики / шаблоны?

спасибо заранее.

Ответы [ 2 ]

4 голосов
/ 04 августа 2010

Если вы используете SQL Server в качестве бэкэнда, вы можете использовать столбец UNIQUEIDENTIFIER вместо столбца IDENTITY, что означает, что вы можете использовать GUID для своих идентификаторов по всей базе данных.

См. «Значения свойств GUID» в следующей статье MSDN для EF4

http://msdn.microsoft.com/en-us/library/dd283139.aspx

1 голос
/ 04 августа 2010

1) Создать таблицу для хранения последнего идентификатора (int, bigint) (идентификатор домена)

2) Добавить хранимую процедуру для получения следующего идентификатора (int, bigint).

3)Вы можете реализовать пользовательский класс данных EntityObject и ComplexObject (или, возможно, назначить каждому объекту вручную в коде)

4) Использовать этот идентификатор в своем пользовательском классе в качестве первичного ключа

-

Если вы используете GUID ... EF (4) имеет встроенную функцию для этого.Но GUID как первичный ключ с CLUSTERED INDEX, конечно, плохое решение для многих вставок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...