【问题标题】:Error in update query in Entity Framework and data model实体框架和数据模型中的更新查询错误
【发布时间】:2018-01-04 03:58:58
【问题描述】:
database.Database.SqlQuery<zamenin>("update zamenin set shomaremoshtarevamgirande ='" + txt_customnum.Text.Trim() + "' where shomaremoshtarevamgirande='" + shomaremoshtare + "'").ToList();
database.SaveChanges();

当我运行这段代码时,我得到了这个错误:

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

请帮帮我

【问题讨论】:

    标签: c# entity-framework


    【解决方案1】:

    SqlQuery&lt;zamenin&gt;() 期望查询返回包含与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() 会立即运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-05
      • 2011-04-28
      • 2011-04-26
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 2014-04-10
      • 1970-01-01
      相关资源
      最近更新 更多