Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Linq-未找到或更改行_.net_Linq_Linq To Sql_.net 3.5 - Fatal编程技术网

.net Linq-未找到或更改行

.net Linq-未找到或更改行,.net,linq,linq-to-sql,.net-3.5,.net,Linq,Linq To Sql,.net 3.5,我有以下代码: Guid id = imageMetaData.ID; Data.LinqToSQL.Image dbImage = DBContext.Images.Where(x => x.ID == id).SingleOrDefault(); dbImage.width = imageMetaData.Width; dbImage.height = imageMetaData.Height; DB

我有以下代码:

        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,并显示以下消息。。。“未找到或更改行”

检查以确保您的模型与数据库匹配。如果它们不同步,我会遇到这个问题,在大多数情况下是null-able标志。检查一下这可能的原因

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

在以下内容中找到了解决方案: (托德·弗雷诺撰稿)


通过将表从服务器资源管理器重新整理到设计器并重新生成,可以解决此错误。因此,设计器与SQL表不同步…

我也遇到了同样的问题,只是删除了.dbml文件(设计器)中的表并再次从数据库中删除,然后构建了我的应用程序。它解决了我的问题。

我们需要在这之前查看代码。。。如何/何时实例化datacontext?imageMetaData.ID在哪里设置?此表上有任何触发器吗?谢谢,这只是一个简单的null not set问题。必须有更好的方法保持数据库的同步!如果模式简单,请考虑从DML创建DB模式。这使DBML成为真理的源泉。为我工作。解决这种情况的最佳方法是创建一个新的LINQtoSQL文件,拖放表,然后复制生成的XML