0

を使用してデータ モデルに対してクエリを実行しようとしていますcontext.ExecuteStoreCommandが、エラー メッセージが表示さ れ続けます。

<object context> does not contain a definition for 'ExecuteStoreCommand' ...

以前に古いプロジェクトでこれを使用したことがありますが、何が欠けているのかわかりません。EntityFramework、System.Data、System.Data.Entity へのプロジェクト参照があります。MSDNのドキュメントには、ObjectContext は System.Data.Object の一部であると記載されていますが、それを直接参照することはできず、以前に使用した場所で参照する必要はありませんでした。私は何が欠けていますか?

4

1 に答える 1

4

私自身の質問に答えるには:

私が最初に ExecuteStoreCommand を使用したコードは、コード生成戦略が「デフォルト」に設定された EF4 プロジェクトにあり、ObjectContext が作成されました。ここを読むと、VS2012 の EF5 はデフォルトでデータ モデルの DbContext を作成するようです。

この問題を回避する方法は 2 つあります。

1 - コード生成方法を変更して、DbContext から ObjectContext に変更します。この質問は、その方法を示しています。<object context>.ExecuteStoreCommand()その後、使用できます。

2 - DbContext に対して SQL コマンドを実行します。次に例を示します。

<db context>.Database.SqlQuery(typeof(myTable), "SELECT * FROM myTable")

于 2013-03-04T16:01:02.390 に答える