0
// To get current user id
var currentUsrId = Convert.ToInt16(Membership.GetUser().ProviderUserKey); 

var IDquery = My_usr_contacts_requests.Where(i => i.requests_to_usr_id == currentUsrId)
                                      .Select(i => new { i.from_usr_id })
                                      .ToArray();

var mainquery = My_usr_biographic_details
                   .Join(
                       My_usr_profiles_companies, i => i.usr_id, j => j.company_usr_id,
                       (i, j) => new
                                 {
                                     usr_id = j.company_usr_id,
                                 })
                   .Where(i =>IDquery.contains(i.usr_id))
                   .ToArray();

実行中に で値の配列を取得IDqueryしています。これらの値を上記のようにメインクエリの where 条件で使用したいのですが、このように指定すると、メインクエリの where 条件でエラーが表示されます。IDqueryから取得した値の配列を使用する方法を教えてもらえますmainqueryか?

4

1 に答える 1

0

あなたが書いた:

var IDquery = dbContext.My_usr_contacts_requests.Where(i => 
    i.Usr_contacts_requests_to_usr_id==currentUsrId).Select(i => new { 
    i.Usr_contacts_requests_from_usr_id }).ToArray();

最後の新品は不要です。配列の配列を作成します。次のように変更する必要があります。

var IDquery = dbContext.My_usr_contacts_requests.Where(i => 
    i.Usr_contacts_requests_to_usr_id==currentUsrId).Select(i => 
    i.Usr_contacts_requests_from_usr_id).ToArray();
于 2012-08-23T07:04:51.740 に答える