C# 更新查询到达SQL server,但不更新记录且不返回任何错误

C# 更新查询到达SQL server,但不更新记录且不返回任何错误,c#,sql-server,entity-framework,C#,Sql Server,Entity Framework,这就是问题所在: 我有一个更新查询失败的表 当用户单击应用程序中的删除按钮时,RowStatus应设置为0而不是1,数据类型为bit。 使用SQL profiler,我们可以看到更新查询正在到达SQL server,但它没有在那里运行—它不会向应用程序返回任何异常。 我们使用表的PK来标识要更新的行。 我们能够通过web服务器成功地将值从应用程序插入表中,只有更新查询失败。 我们在应用程序中有muplitple表,但问题仅限于此表。 我们使用实体框架来更新表 有人能帮忙吗 这是表结构: [dbo

这就是问题所在:

我有一个更新查询失败的表

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

有人能帮忙吗

这是表结构:

[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
)
这是我在profiler中看到的查询:

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.savechangesync()以将更改保存到实体后,它开始工作。
以前有人遇到过这个问题吗?

如果使用实体框架,请尝试清理项目,因为某些缓存可能会阻止代码干净地执行。

如果使用实体框架,请尝试清理项目,因为某些缓存可能会阻止代码干净地执行。

我忘记在方法调用中添加'wait'关键字。
这导致了这个问题。

我忘了在方法调用中添加'wait'关键字。
这导致了此问题。

如果您看到它使用sqlprofiler到达服务器-它正在运行。。。。您确定web服务器帐户对该表具有更新权限吗?能否共享查询和执行查询的表结构?是的,它具有更新权限,因为只有一个表的更新失败。请确保没有捕获块吞咽异常(如中所示,您收到了一个错误,但您没有看到它)。在抛出异常时设置调试器中断可能会有所帮助,以便无论发生什么情况都能看到它。另一种想法是:启动SSM并用同一个用户手动启动查询没有足够的信息,如果你做得对,听起来有点像哈里·波特(harry potterish)如果你看到它使用sqlprofiler到达服务器-它正在运行…你呢确保web服务器帐户在该表上具有更新权限?能否共享查询和执行查询的表结构?是的,它具有更新权限,因为只有一个表的更新失败。请确保没有捕获块吞并异常(例如,您收到了错误,但未看到它)。在引发异常时设置调试器中断可能会有所帮助,以便无论发生什么情况都能看到它。另一种想法:启动SSM并使用同一用户手动启动查询信息不足,如果操作正确,听起来有点像harry potterish。我多次重新部署了它。问题仍然存在。saveChangesSync()是用于提交更改的EF方法。我多次重新部署了它。问题仍然存在。SaveChangesSync()是用于提交更改的EF方法。