Как получить зависимые объекты при использовании службы для доступа к моей базе данных - PullRequest
0 голосов
/ 05 марта 2019

Это мой сценарий:

У меня есть служба приложений Azure, подключенная к размещенной в Azure базе данных MSSQL с использованием шаблонов по умолчанию, которые генерируют проекты клиентских и серверных служб.Бэкэнд-проект использует EF6 Code First.

Теперь представьте две таблицы с отношением один ко многим.Ради этого вопроса допустим, у меня есть пользователь и ее заказы.Так что в бэкэнде есть пользовательский контроллер, и в клиентском коде у меня есть RequestProvider, который управляет HttpClient, вызываемым UserRepository, который предлагает, например, метод GetAsync (userId), который вызывается UserService, который выполняет что-то вроде GetCurrentUser.

Если бы у меня был только один проект, включающий код для доступа к данным, я мог бы просто определить свои виртуальные навигационные свойства, и они были бы лениво загружены EF.Так что, когда я получаю доступ к user.Orders, последний будет автоматически заполнен.

Однако, когда я получаю пользователей, вызывая UserController как службу REST, я получаю только пользовательские данные и даже не имеювозможность ленивой загрузки заказов, верно?

Однако я мог бы заставить бэкэнд загрузить заказы, поместить их в свойство orders и отправить их через линию клиенту.Но хорошо ли это?Или мне нужно реализовать OrderService в моем клиентском коде, который вместо этого я должен вызывать как GetOrdersForUser (userId)?

...