.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)的发行版本。

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...