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