ASP.NET Core заполнить список выбора результатом объединения - PullRequest
0 голосов
/ 18 октября 2019
  var a = _context.Components.Select(c => c.Week).Union(_context.FinishGoods.Select(f => f.Week));
  WeekFilter = new SelectList(a, "Week", "Week");

это не работает. Что мне нужно, чтобы результаты объединения работали в списке выбора? Я пытался ToList (), AsEnumerable ()

это сработало

   Entries = _con.Query<ExcelViewModel>(query).ToList();


    var selectList = Entries                
        .Select(e => new
    {
        Id = e.ComponentWeek.Value.ToString(),
        Name = e.ComponentWeek.Value.ToString()
    }
    ).Union(Entries.Select(e => new
    {
        Id = e.FinishGoodWeek.Value.ToString(),
        Name = e.FinishGoodWeek.Value.ToString(),
    }));

    WeekFilter = new SelectList(selectList, "Id", "Name");

EDIT

вот объекты для объединения они в основномто же самое в структуре

  public class FinishGood
    {
        public int Id { get; set; }
        public int? Quantity { get; set; }
        public int? Week { get; set; }
        public int EntryId { get; set; }
        public Entry Entry { get; set; }
    }



 public class Component
    {
        public int Id { get; set; }  
        public int? Quantity { get; set; }
        public int? Week { get; set; }

        public int EntryId { get; set; }
        public Entry Entry { get; set; }
    }

1 Ответ

1 голос
/ 18 октября 2019

Пожалуйста, попробуйте этот, он отлично работает.

var a = _context.Components.Select(c => new { Week = c.Week.Value })
            .Union(_context.FinishGoods.Select(f => new { Week = f.Week.Value })).ToList();

WeekFilter = new SelectList(a, "Week" , "Week");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...