2017-02-09 3 views
0

私はしばらくの間立ち往生しており、誰かが正しい方向に向けることを期待していました。コードの一部下記LINQ - "SQL文がネストされています" MVCアプリケーションで問題が発生しました

は私にエラーをスロー: 「あなたのSQL文のいくつかの部分があまりにも深くネストされたクエリを書き換えたり小さなクエリにそれを破る」

seomeoneことができます私に助言してください、どのようにそれを「より小さいクエリ」に書き込むには?

var cnpPendingForCogRole = (from p in db.udf_tbl_GetPendingCnpForRoleAboveStep4((int)CnpAbove4StepRolesEnum.CogManager, 0) 
               join g in CogList on p.CogName equals g 
               select p.cnpId).ToList(); 

答えて

2

Linqは異なる実行を使用するため、一度に実行しようとしているわけではありません。

var query1 = db.udf_tbl_GetPendingCnpForRoleAboveStep4((int)CnpAbove4StepRolesEnum.CogManager, 0).ToList(); 
    var cnpPendingForCogRole = (from p in query1 
           join g in CogList on p.CogName equals g 
                select p.cnpId).ToList(); 
+0

ありがとうございますが、まだ同じ問題があります:/ –

+0

私はストアドプロシージャをquery1に譲渡しましたか? SQLが参照する実際のSQLは何ですか? –

+0

問題が実際に実行が延期され、SQLを一度に実行しようとしている場合は、私の以前の回答は決まっていないと思います。クエリー1をキャストしてリストし、次のクエリーに参加してみてください。 –

関連する問題