database.Database.SqlQuery<zamenin>("update zamenin set shomaremoshtarevamgirande ='" + txt_customnum.Text.Trim() + "' where shomaremoshtarevamgirande='" + shomaremoshtare + "'").ToList();
database.SaveChanges();
当我运行此代码时,我收到此错误:
数据读取器与指定的'moavaghatModel.zamenin'不兼容。类型为“ID”的成员在数据读取器中没有相应的具有相同名称的列。
请帮帮我
答案 0 :(得分:0)
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()
会立即开通。