Visual Studio 2010、ASP.NET MVC 3、およびSQL2008R2データベースを使用しています。
これは簡単な作業だと思いますが、言い方がよくわかりません。これは私が持っている現在のコードです。
public static IEnumerable GetAPCBundledCodesData(string CPTCode)
{
var result = (from item in new VADataContext().CPT2MODs
where item.CPT == CPTCode
select new { item.MOD }).ToList();
return result;
}
これにより、CPTSMODsテーブル内のアイテムのリストがプルされ、返されます。私がやりたいのは、その結果を取得して、同じフィールドMODを持つModifiersと呼ばれる別のテーブルの同じ値を持つすべてのアイテムに一致する別のリストを取得することです。この部分のやり方がわかりません。
私はこれを十分に説明したと思います。説明が必要な場合はお知らせください。
私は答えを探し続けましたが、私の問題は、ステートメントに2つのDataContextを含めることができることです。2つのDataContextでない場合にこれが機能するかどうかさえわかりませんが、これを実行してみました。
public static IEnumerable GetAPCBundledCodesData(string CPTCode)
{
var result = (from mod in new VADataContext().MODIFIERs
join cpt2mod in new VADataContext().CPT2MODs on mod.MOD equals cpt2mod.MOD
where cpt2mod.CPT == CPTCode
select new { mod.MOD, mod.SHORT }).ToList();
return result;
}
これにより、2つの異なるソースからデータをプルできないというエラーが発生しました。それを処理する別の方法はありますか?
ここで何が起こっているかを示すいくつかのサンプルデータがあります。
テーブルCPT2MOD
CPT** MOD**
31624 TC
31624 A
31624 DC
99213 B
99213 T
00100 AS
テーブル修飾子
MOD** SHORT**
TC TC Desc
A A Desc
DC DC Desc
B B Desc
T T Desc
AS AS Desc
CPTコードはGetAPCBundledCodesData(ex 99213)に渡され、CPT2MODテーブル(B、T)からそれに関連付けられているすべてのMOD値を検索します。次に、MODIFIERsテーブルからそれらのMODを説明とともに返します。(B、B Desc; T、T Desc)。
私が今求めていることをもっとよく理解していただければ幸いです。
解決
public static IEnumerable GetAPCBundledCodesData(string CPTCode)
{
using (var dc = new VADataContext()){
var result = (from a in dc.CPT2MODs
where a.CPT == CPTCode
join b in dc.MODIFIERs on a.MOD equals b.MOD
select new { b.MOD, b.SHORT }).ToList();
return result;
}
}