我有以下代码:
Guid id = imageMetaData.ID; Data.LinqToSQL.Image dbImage = DBContext.Images.Where(x => x.ID == id).SingleOrDefault(); dbImage.width = imageMetaData.Width; dbImage.height = imageMetaData.Height; DBContext.SubmitChanges();
查看SQL事件探查器,正在生成以下SQL:
exec sp_executesql N'UPDATE [dbo].[Images] SET [height] = @p0, [width] = @p1 WHERE 0 = 1',N'@p0 int,@p1 int',@p0=603,@p1=365
为什么我的where语句不包含"where id = ...."???
我究竟做错了什么?
我的应用程序抛出一个ChangeConflictException,其中包含消息......"未找到或更改行"
检查以确保您的模型与数据库匹配.如果它们不同步,我会遇到这种情况,在大多数情况下是可以为空的标志.查看这篇文章可能的原因.
我假设您使用的是.net 3.5(Visual Studio 2008)的发行版.