Служба данных WCF/суррогатный ключ

Я хочу создать службу данных WCF, которую следует использовать для операций CRUD в бэкэнде базы данных. Чтобы идентифицировать связанную запись объекта в базе данных, мне нужно знать его первичный ключ. Я использую суррогатные ключи в своей схеме базы данных.

Является ли хорошей практикой передача суррогатных ключей вызывающей стороне, чтобы можно было идентифицировать записи в базе данных при последующих вызовах? (Вызывающий объект извлекает объект, вызывающий объект изменяет объект, вызывающий вызывает метод обновления WCF) Я знаю, что суррогатные ключи обычно не должны использоваться вне базы данных. Если это не очень хорошая идея, какие у меня есть другие варианты?

Любой совет очень ценится.


person Jeldrik    schedule 08.02.2010    source источник


Ответы (2)


Да, ваше решение полностью адекватно. Это самый простой способ сопоставить объекты CLR с постоянными сущностями. Кроме того, потребители ваших услуг могут найти этот уникальный идентификатор полезным при программировании пользовательского интерфейса, для целей ведения журнала и т. д.

Я бы пошел по этому пути, не раздумывая.

person Dmitry Ornatsky    schedule 08.02.2010

Я думаю, что все зависит от того, о каком типе данных вы говорите. Если вы говорите о данных, управляемых чистыми ресурсами, проблем с раскрытием суррогатных ключей не возникает. Однако, если это бизнес-данные, вы должны раскрывать только бизнес-ключи. Это позволяет непересекающимся системам общаться общим образом.

person Nix    schedule 08.02.2010