我创建了一个使用Linq-to-SQL DataContext更新表的小测试,如下所示:
using (pessimistic_exampleDataContext db = new pessimistic_exampleDataContext())
{
var query = db.test1s.First(t => t.a == 3);
if (query.b == "a")
query.b = "b";
else
query.b = "a";
db.SubmitChanges();
}
但是在Main方法的控制台应用程序中执行此代码后,当我从表中选择记录时,记录不会更新。
我已经通过代码进行了调试,甚至没有抛出任何异常。
可能是什么问题?
答案 0 :(得分:1)
问题已解决。在SQL Server 2008中,我们需要再次删除并创建表。我这样做了,代码运行得很好。
答案 1 :(得分:0)
数据库中的表没有主键,因此DataContext无法更新它,我通过在代码中插入另一个代码片段来捕获此错误,以便使用Datacontext将新记录插入数据库,然后使用submitChanges() 。在这种情况下,它抛出了一个异常,告诉我Table没有主键。