Не может неявно преобразовать тип 'Система. Linq. IQueryable' к 'Системе. Наборы. Универсальный. IList'

У меня есть метод:

public DzieckoAndOpiekunCollection GetChildAndOpiekunByFirstnameLastname(string firstname, string lastname)
{
    DataTransfer.ChargeInSchoolEntities db = new DataTransfer.ChargeInSchoolEntities();
    DzieckoAndOpiekunCollection result = new DzieckoAndOpiekunCollection();
    if (firstname == null && lastname != null)
    {
        IList<DzieckoAndOpiekun> resultV = from p in db.Dziecko
                      where lastname == p.Nazwisko
                      **select** new DzieckoAndOpiekun(
                     p.Imie,
                     p.Nazwisko,
                     p.Opiekun.Imie,
                     p.Opiekun.Nazwisko)
                  ;
        result.AddRange(resultV);
    }
    return result;
}

и ошибка в выбранном месте:

Ошибка 1 не Может неявно преобразовать тип 'Система. Linq. IQueryable <WcfService1. DzieckoAndOpiekun>' к 'Системе. Наборы. Универсальный. IList <WcfService1. DzieckoAndOpiekun>'. Явное преобразование существует (Вы скучаете по броску?)

Какая-либо идея, как решают мою проблему?

28
задан Jeppe Stig Nielsen 29 August 2016 в 10:21
поделиться

4 ответа

Чтобы преобразовать IQuerable или IEnumerable в список, вы можете сделать одно из следующих действий:

IQueryable<object> q = ...;
List<object> l = q.ToList();

или:

IQueryable<object> q = ...;
List<object> l = new List<object>(q);
48
ответ дан 28 November 2019 в 02:47
поделиться

Вы можете заменить IList resultV на var resultV .

10
ответ дан 28 November 2019 в 02:47
поделиться

Попробуйте это ->

 new DzieckoAndOpiekun(
                         p.Imie,
                         p.Nazwisko,
                         p.Opiekun.Imie,
                         p.Opiekun.Nazwisko).ToList()
3
ответ дан 28 November 2019 в 02:47
поделиться

Вы можете использовать метод .ToList() для преобразования возвращаемого результата IQueryable в IList, как показано ниже, после выполнения запроса linq.

   public DzieckoAndOpiekunCollection GetChildAndOpiekunByFirstnameLastname(string firstname, string lastname)
{
    DataTransfer.ChargeInSchoolEntities db = new DataTransfer.ChargeInSchoolEntities();
    DzieckoAndOpiekunCollection result = new DzieckoAndOpiekunCollection();
    if (firstname == null && lastname != null)
    {
        IList<DzieckoAndOpiekun> resultV = from p in db.Dziecko
                      where lastname == p.Nazwisko
                      **select** new DzieckoAndOpiekun(
                     p.Imie,
                     p.Nazwisko,
                     p.Opiekun.Imie,
                     p.Opiekun.Nazwisko).ToList()
                  ;
        result.AddRange(resultV);
    }
    return result;
}
2
ответ дан 28 November 2019 в 02:47
поделиться
Другие вопросы по тегам:

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