Служба данных WCF / суррогатный ключ - PullRequest
1 голос
/ 08 февраля 2010

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

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

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

Ответы [ 2 ]

1 голос
/ 08 февраля 2010

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

Я бы пошел без колебаний.

0 голосов
/ 08 февраля 2010

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

...