相关疑难解决方法(0)

如何在SQL Server Compact Edition数据库中解决LINQ to SQL中的"未找到或未更改行"异常?

在使用LINQ to SQL连接(针对SQL Server Compact Edition)更新一些属性后,在向DataContext执行SubmitChanges时,我得到"未找到或更改行".ChangeConflictException.

var ctx = new Data.MobileServerDataDataContext(Common.DatabasePath);
var deviceSessionRecord = ctx.Sessions.First(sess => sess.SessionRecId == args.DeviceSessionId);

deviceSessionRecord.IsActive = false;
deviceSessionRecord.Disconnected = DateTime.Now;

ctx.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)

该查询生成以下SQL:

UPDATE [Sessions]
SET [Is_Active] = @p0, [Disconnected] = @p1
WHERE 0 = 1
-- @p0: Input Boolean (Size = 0; Prec = 0; Scale = 0) [False]
-- @p1: Input DateTime (Size = 0; Prec = 0; Scale = 0) [9/4/2008 5:12:02 PM]
-- Context: SqlProvider(SqlCE) Model: AttributedMetaModel Build: 3.5.21022.8
Run Code Online (Sandbox Code Playgroud)

显而易见的问题是WHERE 0 …

.net linq linq-to-sql

91
推荐指数
5
解决办法
6万
查看次数

如何更改LinqToSQL中的NOCOUNT设置,因为Linq中的ChangeConflictException更新为Sql更新

我遇到完全相同:这个问题(和我完全一样的世界疼痛) 中的LINQ ChangeConflictException到SQL更新

因此,我使用LinqToSQL提供SQL的更新,并且ChangeConflictException因为NOCOUNT设置为失败而失败ON.

由于遗留数据库也在我定位的服务器上,我无法重新配置默认连接设置,正如Linq to Sql updateChangeConflictException中接受的答案中所说的那样.

我的问题是:SET NOCOUNT OFF在执行更新之前,您如何说服LinqToSQL运行SQL ?

sql linq linq-to-sql

3
推荐指数
1
解决办法
558
查看次数

标签 统计

linq ×2

linq-to-sql ×2

.net ×1

sql ×1