Отображение идентификаторов базы данных в пользовательском интерфейсе

Это шаблонный вопрос для новичков для веб-форм-над-данными. Я прочитал Предоставление идентификаторов баз данных -риску безопасности? и принятый ответ заставляет меня думать, что это пустая трата времени, но подождите...

У меня есть проект MVC, ссылающийся на библиотеку бизнес-логики, и сборка репозиториев NHibernate SQL, ссылающихся на то же самое. Если бы что-то заставило мою руку обратиться к этим репозиториям непосредственно из кодовой базы моего контроллера, я бы знал, что пошло не так. Но когда эти контроллеры говорят в параметрах URL с идентификаторами записей базы данных, это только кажется неправильным?

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

Как бы вы сделали веб-приложение, которое ссылается только на сборку бизнес-логики и общается с объектами BL и идентификаторами GUID, которые имеют значение только для этого сеанса, в то время как сборка сохраняет транзакции с использованием идентификаторов базы данных?

6
задан Community 23 May 2017 в 10:32
поделиться