Как запросить сущности в Entity Framework 4 - PullRequest
0 голосов
/ 14 мая 2010

В VS2008, я думаю, что это EF1.0, это прекрасно работает.

string queryString = @"SELECT VALUE USERS FROM ProjectDBEntities.Users AS User 
            INNER JOIN ProjectDBEntities.Favorites AS F ON F.FavUserId = User.UserId
            WHERE F.UserId = " + 3 + " ORDER BY F.CreateDate DESC ";

        System.Data.Objects.ObjectQuery<User> usersQuery =
                new System.Data.Objects.ObjectQuery<User>(queryString, context).Include("Detail");

        //int count = usersQuery.Count();
        foreach (User result in usersQuery)
            Console.WriteLine("User Name: {0}", result.UserName);

Тот же код в VS2010 EF4, он падает в цикле foreach со следующей ошибкой:

Тип результата запроса не является ни EntityType, ни CollectionType с типом элемента сущности. Путь «Включить» может быть указан только для запроса с одним из этих типов результатов.

1 Ответ

2 голосов
/ 14 мая 2010
var q = from u in ProjectDBEntities.Users
        from f in u.Favorites
        where f.User.Id == 3
        orderby f.CreateDate desc;

Я делаю некоторые предположения об именах моделей / свойств вашей сущности, поскольку вы не показываете их, но это должно дать вам общее представление.

...