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

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

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

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

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

Спасибо


person Afife Sevinç    schedule 08.10.2010    source источник


Ответы (1)


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

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

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

//Repo
public IEnumerable<EmpPosition> GetEmployeePositions()
{}
person p.campbell    schedule 08.10.2010