更新到达SQL Server的查询,但不更新记录并且不返回错误

这是问题:


我有一个表,其中更新查询失败。


当用户单击应用程序中的删除按钮时,应将RowStatus设置为0而不是1,数据类型为bit。使用SQL事件探查器,我们可以看到更新查询正在到达SQL服务器,但是没有在其中运行-它不会向应用程序返回任何异常。我们正在使用表的PK来标识要更新的行。我们能够通过Web服务器将值从应用程序成功插入到表中,只有更新查询失败。我们的应用程序中有多个表-但问题仅在于此表。我们使用实体框架来更新表。


有人可以帮忙吗?


这是表结构:


[dbo].[TableName](

[PrimaryKey] [int] IDENTITY(1,1) NOT NULL,

[ForeignKey1] [int] NOT NULL,

[ForeignKey2] [int] NOT NULL,

[RowStatus] [bit] NULL,

[CreatedBy] [int] NULL,

[CreationDate] [datetime2](7) NULL,

[UpdatedBy] [int] NOT NULL,

[UpdatedDate] [datetime2](7) NOT NULL

)

这是我在探查器中看到的查询:


exec sp_executesql N'UPDATE [dbo].[TableName]

SET [RowStatus] = @0, [UpdatedBy] = @1, [UpdatedDate] = @2

WHERE [PrimaryKey] = @3)

',N'@0 bit,@1 int,@2 datetime2(7),@3 int',@0=0,@1=999,@2='2018-05-02 

05:20:16.2795067',@3=30

更新:在我更改了dbcontext.savechanges()而不是dbcontext.savechangesasync()以将更改保存到实体后,它开始工作。有人遇到过这个问题吗?


SMILET
浏览 250回答 2
2回答

杨__羊羊

如果您使用的是Entity Framework,请尝试清理项目,因为某些缓存可能会使您的代码无法正常执行。
打开App,查看更多内容
随时随地看视频慕课网APP