通过Linq-to-SQL DataContext更新无法正常工作

时间:2011-03-06 15:31:19

标签: .net linq-to-sql

我创建了一个使用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方法的控制台应用程序中执行此代码后,当我从表中选择记录时,记录不会更新。

我已经通过代码进行了调试,甚至没有抛出任何异常。

可能是什么问题?

2 个答案:

答案 0 :(得分:1)

问题已解决。在SQL Server 2008中,我们需要再次删除并创建表。我这样做了,代码运行得很好。

答案 1 :(得分:0)

数据库中的表没有主键,因此DataContext无法更新它,我通过在代码中插入另一个代码片段来捕获此错误,以便使用Datacontext将新记录插入数据库,然后使用submitChanges() 。在这种情况下,它抛出了一个异常,告诉我Table没有主键。