Получение данных множителя с выравниванием или сбором в Angular - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть проект Angular на проекте ASP.NET MVC, и я также использую Entity Framework в проекте.Существует страница с подробной информацией, извлекающая данные из разных таблиц, подключенных к таблице Ticket с использованием View в MSSQL Server.В моем проекте также есть аналогичные способы использования, но другая вещь состоит в том, что я также хочу перечислить FileAttachments на странице Подробности, которая имеет несколько записей, а не одну, то есть Город, Страна ... Я не уверен, чтоявляется наилучшей практикой для получения этого набора данных.Если я получу детали билета с помощью FileAttachments, записи умножаются в представлении.В этой сцене, используя View в базе данных, как правильно получить FileAttachments для этого сценария?Если я использую ICollection в сущности Ticket, это решит проблему?Поскольку записи умножаются в представлении, и есть другой вариант, я могу получить одну запись Ticket, а затем получить FileAttachments, используя идентификатор Ticket.Но если я сделаю это, мне придется дважды зайти в базу данных и не уверен, что это хорошая идея.Вот упрощенный образец для объяснения проблемы:

Сведения о билете ViewModel:

public class TicketDetailsViewModel
{
    public int Id { get; set; }

    public string Summary { get; set; }

    public int FileAttachmentId { get; set; }

    public string FileAttachmentFileName { get; set; }

    public ICollection<FileAttachmentVm> FileAttachments { get; set; }
}

FileAttachmentViewModel:

public class FileAttachmentViewModel
{
    public int Id { get; set; }

    public int TicketId { get; set; }

    public string FileName { get; set; }

    public byte[] FileData { get; set; }
}

Если я получу один Билет, а затем получу FileAttachments, принадлежащие этому Билету, я также добавлю эти вложения в Билет.Я действительно смущен для такого рода сценария: (((Любая помощь будет оценена ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...