【问题标题】:LINQ to SQL database row not updatingLINQ to SQL 数据库行未更新
【发布时间】:2011-09-17 11:05:29
【问题描述】:

我正在使用 LINQ to SQL 与我的数据库进行交互,并且我正在尝试执行以下操作来更新数据库中的单行:

DataClassesDataContext dataContext = new DataClassesDataContext();

TableName aRow = (from rows in dataContext.TableNames where rows.x == y select rows).Single();
aRow.attribute = "something";

dataContext.SubmitChanges();

这不应该用我对行所做的更改来更新数据库吗? 还是我缺少什么?

感谢您的帮助

【问题讨论】:

  • 您是否偶然在 TransactionScope 内运行?如果是这样,记得Complete它。如果没有,请忽略此评论。
  • 切向,但是:绝对考虑通过将代码包装在声明数据上下文的using block 中来替换第一行。

标签: c# .net asp.net database linq


【解决方案1】:

要检查的另一件事:确保表具有主键。

【讨论】:

    【解决方案2】:

    需要检查的几件事:

    1. 您的代码 sn-p 是否使用相同的 DataContext,这意味着它不是从您正在实例化新的 DataContext 实例的不同方法中剪切和粘贴的?
    2. 您的DataContext.ObjectTrackingEnabled 属性是否设置为true?默认情况下应该是,但如果是false,那么您的DataContext 将无法执行更新。

    【讨论】:

    【解决方案3】:

    该代码应该可以正常工作,因此它必须位于代码中的其他位置或数据库本身中。

    您是否检查过以确保您正在更新的列不是只读的? 如 pst 所述,您是否使用事务?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      相关资源
      最近更新 更多