Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何让linqpad更新列_C#_Sql_Linqpad - Fatal编程技术网

C# 如何让linqpad更新列

C# 如何让linqpad更新列,c#,sql,linqpad,C#,Sql,Linqpad,我试图用linqpad中的C#语句进行SQL更新,但数据没有改变,我甚至不确定是否要进一步调试以找出原因。用户表非常标准,只有一个字符串来存储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

我试图用linqpad中的C#语句进行SQL更新,但数据没有改变,我甚至不确定是否要进一步调试以找出原因。用户表非常标准,只有一个字符串来存储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),我自己也被它钉了一两次。很高兴这很容易。LinqPad实际上在生成DataContext时会向您发出警告,但警告位于表列表的底部-很容易错过。无声的失败令人恼火。