Вопрос по структуре
У меня есть проект ASP.NET MVC 2. Я отделил слои. У меня есть слой обслуживания и уровень хранилища. Контроллер вызывает методы обслуживания, и только уровень обслуживания вызывает методы в хранилище.
Проблема в том, что метод в моем классе репозитория использует соединения LINQ. Из этого метода я хотел бы вернуть тип со слиянием некоторых данных из объединенных таблиц. (т. е. Name = a.Name, Position = b.Position) И я всегда возвращаю IEnumerables в своем классе репозитория. Так что в этом случае, кажется, мне нужно определить новый тип для (Name, Position) и вернуть этот тип из функции репозитория. Но тогда мне придется переназначить этот класс на другой класс ViewModel. (Поскольку я разделяю проблемы, я не должен использовать классы viewmodel в репозитории, верно?) Это приводит ко многим различным классам. EF-классы, классы для объединенных таблиц и классы viewmodel.
Я на правильном пути?
Пожалуйста, просветите меня.
Спасибо
1 ответ
Рассмотрите возможность определения этих классов на уровне хранилища. По сути, это классы DTO, и звучит так, будто вы были на треке, который я бы выбрал.
Любая причина, почему вы ожидали переназначить этот класс в другой класс ViewModel?
public class EmpPosition()
{
public property Name{get;set;}
public property Position{get;set;}
}
//Repo
public IEnumerable<EmpPosition> GetEmployeePositions()
{}