LinqToSql更新中的不一致

时间:2009-10-06 15:00:00

标签: c# linq-to-sql

我正在运行以下代码:

if(ven.Source == null)ven.Source = new Source();
                    ven.name = (string) venue.Element("venueName"); 
                    Console.WriteLine("Venue Name: " + ven.name);
                    ven.Source.companyId = 1;
                    ven.Source.sourceReference = (string)venue.Attribute("venueID");

我每次都在运行相同的xml文件,(string)venue.Attribute("venueID");每次都是相同的,所以为什么数据库更新会在保存更改时运行?为什么公司ID没有设置,但源参考确实如此? :

exec sp_executesql N'UPDATE [dbo].[Source]
SET [sourceReference] = @p3
WHERE ([sourceId] = @p0) AND ([companyId] = @p1) AND ([sourceReference] = @p2)',N'@p0 int,@p1 int,@p2 nchar(12),@p3 nchar(12)',@p0=71,@p1=1,@p2=N'x1830wa     ',@p3=N'x1830wa     '

1 个答案:

答案 0 :(得分:1)

一些想法:

  • 实际上更改了值 - 它非常懒惰,只会持续感知变化;调用set是不够的
  • 是主键/标识的一部分吗? (WHERE让我想不到,但是)
  • 是在dbml中吗?或者你手动添加并忘记了吗?