2011-08-11 11 views
1

私はEF Linqを初めて使用しており、数日間このクエリで苦労しています。このフォーラムを読んでから、私はこれまでのところを取得するために管理している:タイプ 'System.Linq.IQueryable(Of Integer)'の値は整数に変換できません

Dim noPic = (From f In myEntities.FriendLists 
      Where (f.UserID = Profile.ID) 
      Select f.FriendID).Except(From g In myEntities.GuestLists 
             Where g.EventID = _id 
             Select g.FriendID) 
Dim myNoPic As Integer = noPic 
Dim show = From s In myEntities.UserProfiles 
      Where s.UserID = myNoPic 
      Select s.UserID, s.FirstName, s.LastName, s.ImUrl 
Repeater2.DataSource = show 
Repeater2.DataBind() 

私は、Repeaterコントロールに表示するGuestListになっていないFriendListから皆を取得しようとしています。フォーラムを読んだ後、私はmyNoPic宣言で.First()をnoPicに追加して最終的に結果を得ることができましたが、それは私に最初の要素しか与えませんでした。誰かがこれを達成する方法についてアドバイスを持っていますか?

答えて

1

noPicは、のです。これは整数ではありません - のシーケンスの整数です。だから、あなたはそれを単一の整数に変換することはできません。あなたが望んでいないように思えます。

私の推測では、あなたがしたいということです。また

Dim show = From s In myEntities.UserProfiles 
      Where noPic.Contains(s.UserID) 
      Select s.UserID, s.FirstName, s.LastName, s.ImUrl 

、で開始する結合として全体のことを書きます。 (私はそう私はあなたのためにそれを行うだろう、VB LINQの構文でauのfaitがないよ。)

+0

ありがとう、トリックをやったジョン! –

0

問題は、これらの行に沸く:

Dim myNoPic As Integer = noPic 

Where s.UserID = myNoPic 

Dim noPic = (From f In myEntities.FriendLists 
     Where (f.UserID = Profile.ID) 
     Select f.FriendID).Except(From g In myEntities.GuestLists 
            Where g.EventID = _id 
            Select g.FriendID) 
Dim myNoPic As Integer = noPic 
Dim show = From s In myEntities.UserProfiles 
     Where noPic.Contains(s.UserID) 
     Select s.UserID, s.FirstName, s.LastName, s.ImUrl 

Containsは、我々が望んでいたものです:私はあなたが達成しようとしているのはこのようなものだと思います。 2番目のクエリを「自分のIDがnoPicのすべてのUserProfilesに取得」に変更します。

+0

ありがとうvcsjones! –

関連する問題