繁体   English   中英

实体框架和数据模型中的更新查询错误

[英]Error in update query in Entity Framework and data model

database.Database.SqlQuery<zamenin>("update zamenin set shomaremoshtarevamgirande ='" + txt_customnum.Text.Trim() + "' where shomaremoshtarevamgirande='" + shomaremoshtare + "'").ToList();
database.SaveChanges();

当我运行此代码时,出现以下错误:

数据读取器与指定的'moavaghatModel.zamenin'不兼容。 类型“ ID”的成员在数据读取器中没有具有相同名称的对应列。

请帮我

SqlQuery<zamenin>()期望查询返回一个数据集,该数据集包含与zamenin类型匹配的行。 但是,您正在运行的更新语句不返回数据。

要运行更新语句,您应该这样做:

database.Database.ExecuteSqlCommand("update zamenin set shomaremoshtarevamgirande ='" + txt_customnum.Text.Trim() + "' where shomaremoshtarevamgirande='" + shomaremoshtare + "'")

一种更安全的方法是使用像这样的参数化查询:

database.Database.ExecuteSqlCommand("update zamenin set shomaremoshtarevamgirande = {0} where shomaremoshtarevamgirande= {1}", txt_customnum.Text.Trim(), shomaremoshtare);

您也不需要调用SaveChanges()因为ExecuteSqlCommand()立即运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM