SQL
をLINQ
に変換する方法はありますか。基本的には,PR_TYP
およびPR_GRP
の列を持つproject_mstr
テーブルがあります。これら3つの列は、のparams_mstr
の値です。たとえば、PR_TYP
の値がparam_cd
にあり、Regular
が対応するparam_val
の値を持つレコードがあります。LINQと同じテーブルの複数の条件付きで複数の結合を持つSQLを変換する
私はLinquerをインストールしましたが、データベースへの接続をまだ作成しておく必要があるので、私はそれを使用するのが快適ではありません。私はまた、SQL
からLINQ
へのオンラインコンバータを見つけることができません。だから私はここで良質の人にコンバージョンを助けてくれるように頼んでいます。
SELECT
c.pr_id, c.pr_class, c.pr_typ, c.pr_grp, cp.pr_price,
c.gl_acct_id, c.pr_DESC "Project",
pm.param_val "Project Class", pm2.param_val "Project Type", pm3.param_val "Project Group"
FROM project_mstr c
JOIN
params_mstr pm ON c.pr_class = pm.param_id AND pm.param_cd = 'PR_CLASS'
JOIN
params_mstr pm2 ON c.pr_typ = pm2.param_id AND pm2.param_cd = 'PR_TYP'
JOIN
params_mstr pm3 ON c.pr_grp = pm3.param_id AND pm3.param_cd = 'PR_GRP'
JOIN
pr_price_mstr cp ON c.pr_id = cp.pr_id
JOIN
gl_acct_mstr gl ON c.gl_acct_id = gl.gl_acct_id
ORDER BY
c.crea_dt DESC;
返信いただきありがとうございます!しかし、私はエラーが発生しています: '無効な匿名型メンバー宣言子。 'ParamId = c.ChClass'で始まる最初の結合では、匿名型メンバーはメンバー割り当て、単純名またはメンバーアクセスで宣言する必要があります。以前は匿名の型を扱っていましたが、 'Model'クラスで変数を作成するだけですが、edmxで変数を直接取得しているので、ここでは別のケースです。だから私はここで匿名の型を宣言するのですか?とにかく、私はあなたが提案した2番目のものを使用しようとします。 –
ありがとう、それは働いた!わたしは、あなたを愛しています! Btw、第2の提案でいくつかの変数を変更しました。あなたの質問の変数を編集する前に答えを作成しているからです。 –