Как бороться с совместным использованием моделей баз данных между сервером (C #) и клиентами (JS)? - PullRequest
0 голосов
/ 10 октября 2018

Предположим, что настольное приложение связывает некоторые данные с сервером, хранит их, и веб-клиент может получить доступ к данным через запросы SQL.

Раньше были модели EntityFramework, которые использовались проектом веб-приложения MVC и проектом C # WPF, так что мне было все равно, что с базой данных.

Но теперь у меня есть одна .NetБазовое веб-приложение, серверная часть которого - C #, а клиентское - React + Redux, и имеет одно настольное приложение, созданное с помощью Electron + React + Redux.

Полагаю, мне нужно создать один набор моделей для серверной стороны исоответствующий для клиентского / настольного приложения, но я не уверен, что можно создать два функционально идентичных набора моделей.

Есть ли хороший ресурс или комментарий относительно того, как бороться с этой темой?

1 Ответ

0 голосов
/ 10 октября 2018

Вы должны вернуть результат JSON из методов действия вашего контроллера.Если нет разницы в модели базы данных и просмотра, вы можете использовать те же модели.Но лучшая практика заключается в том, чтобы отделить ваши модели представления от моделей сущностей.Для этого вы можете использовать auto mapper на стороне сервера.

React может легко понять ваши результаты JSON и, соответственно, привязать его к вашему интерфейсу.

То же самое даже с вашим WPF (который являетсянастольный клиент).Я также могу вызвать ваши действия контроллера и получить результаты JSON и соответственно заполнить пользовательский интерфейс.

Вот простой пример для Реагировать один.

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