Entity framework 4 如何在实体框架4中查询实体

Entity framework 4 如何在实体框架4中查询实体,entity-framework-4,objectquery,Entity Framework 4,Objectquery,在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.CreateD

在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);
string queryString=@“从ProjectDBEntities中选择值用户。用户作为用户”
在F.FavUserId=User.UserId上以F的形式内部连接ProjectDBEntities.Favorites
其中F.UserId=“+3+”按F.CreateDate DESC下单”;
System.Data.Objects.ObjectQuery用户查询=
新的System.Data.Objects.ObjectQuery(queryString,context).Include(“Detail”);
//int count=usersQuery.count();
foreach(usersQuery中的用户结果)
WriteLine(“用户名:{0}”,result.UserName);
VS2010 EF4中的同一代码在foreach循环上崩溃,出现以下错误:

查询的结果类型既不是EntityType,也不是具有实体元素类型的CollectionType。只能为具有这些结果类型之一的查询指定包含路径。

var q = from u in ProjectDBEntities.Users
        from f in u.Favorites
        where f.User.Id == 3
        orderby f.CreateDate desc;

因为您没有显示实体模型/属性名称,所以我对其进行了一些假设,但这应该可以为您提供总体思路。

您需要ESQL解决方案吗?这对于L2E来说是微不足道的。Craig,L2E是如何实现的?根据我的帖子,如果您已经在使用自定义的
选择
,您似乎不需要指定
包含
。(因此,请尝试删除包含)。