【问题标题】:How to get linqpad to update columns如何让 linqpad 更新列
【发布时间】:2012-08-30 19:24:28
【问题描述】:

我正在尝试在 linqpad 中使用 C# 语句执行相当于 SQL UPDATE 的操作,但数据没有改变,我什至不确定进一步调试它以找出原因。 User 表非常标准,只有一个字符串来存储 Sid。

var usersWithSid = from u in Users where u.Sid != null select u;
foreach(var u in usersWithSid) {
    u.Sid = "S-1-5-21-3812666658-2998621725-2245962016-6618";
}
SubmitChanges();
usersWithSid.Dump();

我发现的大多数示例似乎一次只更新一条记录。为什么这不起作用?

【问题讨论】:

  • 这个确切的东西对我来说很好。我怀疑您的 DB 列定义有问题(您没有指定该列是什么类型的字符串 - 也许是固定长度或非行?)。我的是一个 varchar(200),更新工作完全符合预期。
  • 我的是 NVarchar(100)

标签: c# sql linqpad


【解决方案1】:

您是否在表上定义了主键?如果您不这样做,更新将静默失败。

【讨论】:

  • 我自己被这件事钉了一两次。很高兴这很容易。
  • LinqPad 实际上会在您生成 DataContext 时向您发出警告,但警告位于表格列表的底部 - 很容易错过。
  • 无声的失败很烦人。
猜你喜欢
  • 1970-01-01
  • 2015-10-14
  • 2020-05-12
  • 2013-01-20
  • 1970-01-01
  • 1970-01-01
  • 2013-08-28
  • 2023-03-14
  • 1970-01-01
相关资源
最近更新 更多