我正在尝试使用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。
答案 0 :(得分:10)
鉴于您正在执行删除命令(而不是查询),我认为您应该使用ExecuteStoreCommand
而不是ExecuteStoreQuery
。
此外,你应该肯定使用参数而不是直接将ID放入命令。
string command = "delete from IMPORTStatistics where districtid={0}";
int rowsDeleted = db.ExecuteStoreCommand(command, districtId);
答案 1 :(得分:0)
在我发现这个
之后,这是非常有用的链接http://welcometoaspdotnet.blogspot.com/2012/08/execute-stored-procedure-with-entity.html
THX