Как запросить сущности в Entity Framework 4
В 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 ответ
Решение
var q = from u in ProjectDBEntities.Users
from f in u.Favorites
where f.User.Id == 3
orderby f.CreateDate desc;
Я делаю некоторые предположения об именах моделей / свойств вашей сущности, поскольку вы их не показываете, но это должно дать вам общее представление.