У меня есть ASP.NET MVC3 в C# и Razor. Архитектура приложения разделена на уровень доступа к данным (классы EF + репозиторий), уровень обслуживания, контроллер, ViewModels и вид.Как получить доступ к свойствам класса EF с уровня обслуживания
С моей службы слоя ProductServices
я вызываю метод GetAllProducts
подвергается мой Repository ProductRepository
, который имеет следующую подпись:
IQueryable<Products> GetAllProducts()
Таким образом, в пределах ProductServices
я называю (productRepository
является экземпляром ProductRepository
):
var products = productRepository.GetAllProducts();
, который заполняет переменную products
. Теперь я хотел бы получить доступ к названию продукта ProductName
от productServices
. Если я использую эту инструкцию:
var productNames = products.Select(m => m.ProductName).ToList();
Я создаю связь между ServiceLayer и EF (минуя хранилище). Это означает, что я должен добавить к ProductRepository
методу с подписью:
IQueryable<string> GetAllProductsName()
Однако, так как мне нужно другая информация о продукте в моем приложении, я должен создать один метод в productRepository
для каждого поля Product
класса? Правильно ли я рассуждаю? Благодаря
Зачем вам нужен уровень сервиса, если он просто проксирует запросы? – Eranga
спасибо за ваш ответ. Конечно, у меня также есть вся бизнес-логика и несколько методов на моем уровне обслуживания, вот почему мне это нужно – CiccioMiami
Что заставляет вас думать, что этот тип связи плохой? – Eranga