0

重複の可能性:
このコンテキストでは、プリミティブ型('Int32、String、Guid'など)のみがサポートされます。

さて、私はuserテーブルとusers_usersテーブルを持っています。これらは基本的に2人のユーザーを結び付けるだけです。

私のentityframeworkにはモデルにusers_usersがなく、メインユーザーオブジェクトの関係/プロパティとしてのみ表示されます。この関係はu.user1として表示されます

したがって、u.user1は、users_usersテーブルに存在するユーザーのコレクションです。これは素晴らしいですが..

ユーザーテーブルからすべてのユーザーを選択できるクエリを作成しようとしています。また、select句にブール変数(以下のコードで追加と呼ばれます)を作成して、user_user接続のレコードがあるかどうかを示します。

「プリミティブ型のみの型の定数値を作成できません」というエラーが発生します

選択で「Any()」コマンドを使用すると、Linqクエリでメモリ内オブジェクトを使用できないことを理解しています。これを行うにはどうすればよいですか?LINQは初めてです。

using (myEntities entities = new myEntities())
        {
             Model.user u = entities.users.Single(m => m.emailLogon == System.Web.HttpContext.Current.User.Identity.Name);
             ObjectQuery<Model.user> susers = entities.users;

            var pplquery = (from suser in susers
                            select new { userId = suser.IdUser, FirstName = suser.contactinfo.FirstName, LastName = suser.contactinfo.LastName, added = 
                                u.user1.Any(cusr => cusr.IdUser == suser.IdUser)}).Take(15);


        }
4

1 に答える 1

1
using (myEntities entities = new myEntities())
        {
             Model.user u = entities.users.Single(m => m.emailLogon == System.Web.HttpContext.Current.User.Identity.Name);
             var susers = entities.users.ToList();

            var pplquery = (from suser in susers.AsQueryable()
                            select new { userId = suser.IdUser, FirstName = suser.contactinfo.FirstName, LastName = suser.contactinfo.LastName, added = 
                                u.user1.Any(cusr => cusr.IdUser == suser.IdUser)}).Take(15);


        }

それをリストに変換してクエリを実行すると、そのセットから選択して新しいオブジェクトを作成できます。

于 2012-11-24T03:19:05.450 に答える