-1

この SQL を Linq に変換する必要があります。方法がわかりません。

 INSERT INTO @retCluster (HCIS_ID)
 SELECT HCIS_ID FROM OHCD_EmployeeInfo 
 WHERE ImmediateSupervisor IN (SELECT HCIS_ID FROM @retCluster)
 AND HCIS_ID NOT IN (SELECT HCIS_ID FROM @retCluster)
 AND HCIS_Status_ID = 1
4

1 に答える 1

1

LINQ は、データベースへのレコードの挿入をサポートしていません。名前が示すように、クエリ専用です (現在)。削除、更新、または挿入することはできません。データベースからエンティティをプルした後、データベースにマップされたテーブルでこれらの操作を実行するには、 (EF) またはDbContext( L2S) テーブル機能に依存する必要があります。ObjectContextDataContext

ラムダベースの機能が式を渡すことによって更新または削除コマンドを実行できるようにするエンティティ フレームワークの拡張機能があります。

また、あなたの場合、 Context は変数テーブルに関する知識を持っている必要がありますが、@retClusterこれは不可能です。メソッドを使用DbContext.Database.SqlQueryして、DbContext 接続を使用して、データベースで任意の文字列ベースのコマンドを実行できます。

于 2013-11-07T16:05:49.217 に答える