.net – Linq – 行未找到或更改

前端之家收集整理的这篇文章主要介绍了.net – Linq – 行未找到或更改前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下代码
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 Profiler,正在生成以下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消息…“行未找到或更改”

解决方法

检查以确保您的模型与DB匹配。如果它们不同步,那么我已经遇到这种情况,在大多数情况下可以是空标志。查看这个 article可能的原因。

我假设您使用的是.net 3.5(Visual Studio 2008)的发行版本。

猜你在找的MsSQL相关文章