Вопрос по структуре - PullRequest
       31

Вопрос по структуре

1 голос
/ 09 октября 2010

У меня есть проект ASP.NET MVC 2.Я отделил слои.У меня есть слой обслуживания и уровень хранилища.Контроллер вызывает сервисные методы, и только сервисный уровень вызывает методы в репозитории.

Проблема заключается в следующем: метод в моем классе репозитория использует соединения LINQ.Из этого метода я хотел бы вернуть тип со слиянием некоторых данных из объединенных таблиц.(т.е. Name = a.Name, Position = b.Position) И я всегда возвращаю IEnumerables в своем классе хранилища.Таким образом, в этом случае, кажется, мне нужно определить новый тип для (Name, Position) и вернуть этот тип из функции репозитория.Но тогда мне придется переназначить этот класс в другой класс ViewModel.(Поскольку я разделяю проблемы, я не должен использовать классы viewmodel в репозитории, верно?) Это приводит ко многим различным классам.Классы EF, классы для объединенных таблиц и классы моделей представления.

Я на правильном пути?

Пожалуйста, просветите меня.

Спасибо

1 Ответ

0 голосов
/ 09 октября 2010

Рассмотрите возможность определения этих классов на уровне хранилища. По сути, это классы DTO, и звучит так, будто вы были на треке, который я бы выбрал.

Есть ли причина, по которой вы ожидали переназначить этот класс в другой класс ViewModel?

public class EmpPosition()
{
    public property Name{get;set;}
    public property Position{get;set;}
}

//Repo
public IEnumerable<EmpPosition> GetEmployeePositions()
{}
...