Группировка результатов по условию - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь сгруппировать результаты по " SSN ". Затем результаты будут зациклены для отображения в представлении. Я очень новичок в этом и не уверен, как правильно решить эту проблему. Я не уверен, сколько кода я должен показывать здесь. Дайте мне знать, если вы хотите увидеть больше кода. Пожалуйста, если кто-то может взглянуть на ошибку и оказать некоторую помощь.

Сообщение об ошибке:

Код серьезности Описание Ошибка строки файла проекта CS0029 Невозможно неявно преобразовать тип 'System.Collections.Generic.List>' для CardDistroE 'System.Collections.Generic.List': \ wwwroot \ CardDistro \ CardDistro \ Controllers \ CardsController.cs 119

CardController.cs

    List<Card> QueriedBatchList;
    DBEntities db = new DBEntities();
    QueriedBatchList = db.Cards.Where(x => x.BatchID == null).GroupBy(x => x.SSN).ToList();

    CardViewModel CardViewModel = new CardViewModel();
    List<CardViewModel> CardDataList = QueriedBatchList.Select(x => new CardViewModel
    {
        CardID = x.CardID,
        SSN = x.SSN,
        PortID = x.PortID,
        UserID= x.UserID,
        Created= x.Created,
    }).ToList();

CardViewModel.cs

public class CardViewModel
{
    public int CardID { get; set; }
    public string SSN { get; set; }
    public int PortID { get; set; }
    public Nullable<int> TransactionID { get; set; }
    public int AddedUserID { get; set; }
    public System.DateTime Created { get; set; }
    public Nullable<int> BatchID { get; set; }

    public virtual Card Cards1 { get; set; }
    public virtual Card Card1 { get; set; }
    public virtual Batch Batch { get; set; }
    public virtual Port Port { get; set; }
    public virtual Transaction Transaction { get; set; }
    public virtual User User { get; set; }

}

1 Ответ

0 голосов
/ 29 апреля 2018

Вам следует подать Select после группировки. Вы должны выбрать Card коллекция сущностей. Например:

QueriedBatchList = db.Cards
    .Where(x => x.BatchID == null)
    .GroupBy(x => x.SSN)
    .Select(x => x.FirstOrDefault())
    .ToList();

Этот запрос сгруппирует Cards по SSN и выберет первую запись каждой группы.

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