У меня есть метод:
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>'. Явное преобразование существует (Вы скучаете по броску?)
Какая-либо идея, как решают мою проблему?
Чтобы преобразовать IQuerable
или IEnumerable
в список, вы можете сделать одно из следующих действий:
IQueryable<object> q = ...;
List<object> l = q.ToList();
или:
IQueryable<object> q = ...;
List<object> l = new List<object>(q);
Попробуйте это ->
new DzieckoAndOpiekun(
p.Imie,
p.Nazwisko,
p.Opiekun.Imie,
p.Opiekun.Nazwisko).ToList()
Вы можете использовать метод .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;
}