2012-03-17 3 views
1

Я пытаюсь вернуть список. Любое предложение было бы весьма заметным. Заранее спасибо.Возврат списка с использованием Entity Framework

Он выдает эту ошибку:

Cannot implicitly convert type System.Collections.Generic.List<HTentityFramework.tblFlower> to
System.Collections.Generic.List<HTentityFramework.testDomain>

Кодекс:

public class GetFlowers 
{ 
    public IList<testDomain> getFlowerList() 
    { 
     TestContainer ctx = new TestContainer(); 
     return ctx.tblFlowers.ToList(); 
    } 
} 

public class testDomain 
{ 
    public string Name { get; set; } 
    public int quantity { get; set; } 
} 
+0

У вас есть проблемы? – SLaks

+0

Он выдает ошибку как ошибку \t Невозможно неявно преобразовать тип 'System.Collections.Generic.List ' в 'System.Collections.Generic.List ' – Kurkula

ответ

4

ошибка довольно ясно - просто читать!

Типа вы возвращение из getFlowerList является IList<testDomain> - пока вы выбираете из объекта набора EF, который называется tblFlowers.

Ошибка ясно говорит, что это IList<tblFlower> - список объектов tblFlower.

Ваш код не может просто преобразовать список tblFlowers в список testDomain - вот и все.

Вы должны либо обеспечить конверсию самостоятельно, или вам нужно вернуть IList<tblFlower> из метода:

public IList<tblFlower> getFlowerList() <==== return an IList<tblFlower> here!! 
{ 
    TestContainer ctx = new TestContainer(); 
    return ctx.tblFlowers.ToList(); 
} 
+0

Спасибо за решение проблемы. Но разве мы не используем классы TestDomain в Ilist? – Kurkula

+0

@Usham: если вы выберете из 'tblFlowers', вы получите список объектов' tblFlower', поэтому вам нужно вернуть их ... если вы хотите «скрыть» этот факт и вернуть другой тип - это ** до вас **, чтобы обеспечить какое-то преобразование/отображение из реального, фактического типа, возвращаемого EF ('tblFlower'), в некоторый ** другой тип данных **, который вы, возможно, определили. Опять же: ваша работа, и она должна быть ясной, явной - никакая магия в .NET не может сделать это для вас –

Смежные вопросы