LINQ to Entities: невозможно преобразовать лямбда-выражение в тип "string" - PullRequest
0 голосов
/ 13 июля 2011

Мои лямбда-выражения в операторах включения содержат ошибку, которую я включил в заголовок этого поста.У меня есть «using.System.Linq» в моем классе.Что происходит?~ Сьюзен ~

FVTCEntities db = new FVTCEntities();

public List<RESTAURANT> getRestaurants(string cuisineName)
{
    var cuisineID = db.CUISINEs.First(s => s.CUISINE_NAME == cuisineName).CUISINE_ID;

    List<RESTAURANT> result = (from RESTAURANT in db.RESTAURANTs.Include(x => x.CITY).Include(x => x.CUISINE) 
                               where RESTAURANT.CUISINE_ID == cuisineID 
                               select RESTAURANT).ToList();

     return result;
}

Ответы [ 4 ]

4 голосов
/ 14 июля 2011

Используете ли вы DBContext в EF4.1, основываясь на сообщении в блоге , подготовленном группой ET, Include - это метод расширения в пространстве имен System.Data.Entity, поэтому убедитесь, что вы используете это пространство имен.

0 голосов
/ 13 июля 2011

http://blogs.msdn.com/b/alexj/archive/2009/06/02/tip-22-how-to-make-include-really-include.aspx

У меня нет опыта работы с .Include (), но, похоже, это имеет смысл.

возможно. Включите ("ГОРОД"). Включите ("КУХНЯ")

0 голосов
/ 13 июля 2011

В EF метод Include () принимает строку в качестве параметра.Если вы хотите, чтобы он принимал лямбда-выражения, прочитайте следующий пост: http://tomlev2.wordpress.com/2010/10/03/entity-framework-using-include-with-lambda-expressions/

0 голосов
/ 13 июля 2011

INCLUDE принимает строку в качестве параметра.Попробуйте .Include ("ГОРОД")

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