2017-03-07 2 views
-1

を使用して3つのテーブルを結合するかこれが私のコードです:はどのように私は、LINQの構文

// Put together a list of new communities 
var communityList = from x in db.CommunityTeams 
        join y in db.Communities on x.CommunityId equals y.CommunityId 
        join z in db.CommunityRoles on x.CommunityRole equals z.Role 
        where x.UserId == userId 
        select new 
        { 
         CommunityName = y.ComunityName, 
         CommunityRoleName = z.Role  
        }; 

db.CommunityRolesにzの参加私は、このエラーを与えている:

間違ったで句に参加。構文を正しく取得するにはどうすればよいですか?

+0

何かエラーがありますか? –

+1

お使いのモデル構造とエラーを表示してください。 – CodingYoshi

+0

私が得ているエラーは "Join句が間違っています" –

答えて

1

構文が間違っていません。結合するテーブルは、x.CommunityRolez.Roleの列は同じ型ではありません。

Error CS1941 The type of one of the expressions in the join clause is incorrect. Type inference failed in the call to 'Join'.

おそらく、このエラーを取得していると、あなたは一例intintのために同じタイプの列を結合するために持っています。両方が同じであることを確認してください。

+0

助けてくれてありがとうございました。私は外部キー制約を作成したので、エンティティフレームワークのモデルにCommunityRoleデータが既にありました。ロードしたときにCommunityTeamsにCommunityRoleのコレクションがありましたモデルから継承したので、結合は必要ありませんでした。 –

関連する問題