2015-05-24 2 views
1

Я работал над попыткой получить эту первую попытку в JOIN с помощью запрос LINQ EntityFramework. Когда я создаю этот запрос без соединения, я не получаю ошибку. Что мне нужно сделать?Невозможно неявно преобразовать тип 'System.Collections.Generic.List <AnonymousType # 1>' в 'System.Collections.Generic.List <DataLibrary.PLANT>'

public List<PLANT> getPlantDetails(int plantid) 
{ 
    List<PLANT> plantDetails = (from plant in db.PLANTs 
           join bloom in db.BLOOMs on plant.PLANT_ID equals bloom.PLANT_ID 
           where plant.PLANT_ID == bloom.PLANT_ID 
           && plant.PLANT_ID == plantid 
           select new 
           { 
            plant.PLANT_ID, 
            plant.PL_GENUS, 
            plant.PL_SPECIES, 
            plant.PL_NAME, 
            plant.PL_DESC, 
            plant.PL_HEIGHT, 
            plant.PL_SPACING, 
            plant.PL_IMAGE, 
            plant.PL_IMAGE_THUMB, 
            bloom.BLOOM_DESC 
           }).ToList(); 

    return plantDetails; 
} 

ответ

2

Выбираете новый анонимный тип. Вместо этого выберите новый объект PLANT

select new PLANT 
{ 
    //set values here 

}).ToList(); 

редактировать * просто заметить, вы хотите, чтобы ввести значение от расцветает - в этом случае вы можете возможно создать новый нон-отображенный свойство класса РАСТЕНИЙ для цветения по алфавиту или вы можете создайте новый класс, который содержит свойства BLOOM и PLANT, а затем выберите это.

+0

Я получаю сообщение об ошибке: Не удается инициализировать тип DataLibrary.PLANT с инициализатором коллекции, поскольку он не реализует «Systems.Collections.IEnumerable» – user2816714

+0

Убедитесь, что вы используете Object Initialization при выборе нового объекта PLANT https://msdn.microsoft.com/en-us/library/bb384062.aspx –

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

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