Задать вопрос
@Venesuella
BlackJack и ...

Какой паттерн для слоя доступа к данным?

Здравствуйте! Для слоя доступа к данным выбрал шлюз таблицы данных, есть такая модель
public class Player
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
    public string Position { get; set; }
 
    public int? TeamId { get; set; }
    public Team Team { get; set; }
}
 
public class Team
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Coach { get; set; }
 
    public ICollection<Player> Players { get; set; }
    public Team()
    {
        Players = new List<Player>();
    }
}

в шлюзе таблицы данных реализованы CRUD методы, встал такой вопрос, что делать если на одной странице мне нужно получить информацию только о Team, а на другой странице мне нужно получить информацию о Team с Players, можно всегда загружать Team с Player, но что делать если дерево включения достаточно большое? Может выбрать другой паттерн, подскажите что сделать?
  • Вопрос задан
  • 800 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@unsafePtr
Service Pattern + Inversion of control. Из слоя сервиса возвращаем Dto(Data transfer object), всегда, раз уж следовать по канонам. Хочешь вернуть Team с Player просто в сервисе создаешь метод и в теле функции реализуешь логику
List<TeamPlayer> GetTeamPlayers(int teamId)
{
  //logic
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы