0

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 でもありません。インクルード パスは、これらの結果の種類のいずれかを持つクエリに対してのみ指定できます。

4

1 に答える 1

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

あなたがそれを示していないので、私はあなたのエンティティモデル/プロパティ名についていくつかの推測をしていますが、これはあなたに一般的なアイデアを与えるはずです.

于 2010-05-14T17:30:05.450 に答える