6

このようなlinqのExecuteStoreQueryメソッドを使用して、テーブルから複数の行を削除しようとしています

 string query = "delete from IMPORTStatistics where districtid='" + districtId + "'";
 db.ExecuteStoreQuery<int>(query);

しかし、それはこの例外をスローしています

"The data reader has more than one field. Multiple fields are not valid for EDM primitive types."

私は何が間違っているのですか?

参考までに、MySqlを使用しています。

4

2 に答える 2

10

ExecuteStoreCommand(クエリではなく)削除コマンドを実行していることを考えると、の代わりにを使用する必要があると思いますExecuteStoreQuery

さらに、IDをコマンドに直接入力するのではなく、必ずパラメーターを使用する必要があります。

string command = "delete from IMPORTStatistics where districtid={0}";
int rowsDeleted = db.ExecuteStoreCommand(command, districtId);
于 2013-01-25T11:16:24.293 に答える
0

これはゴーグルした後の本当に役立つリンクです私はこれを見つけました

http://welcometoaspdotnet.blogspot.com/2012/08/execute-stored-procedure-with-entity.html

どうも

于 2014-04-01T14:10:30.960 に答える