我在 SQL Server 2017 中有一个名为“用户”的内存优化表。
我要将一行更新为:
使用 (var context = new MyDbEntities()) { var user = context.Users.Single(p => p.UserId == 1); user.Name = "约翰"; context.SaveChanges(); }
在 SaveChanges() 语句中,出现此异常:
仅自动提交事务支持使用 READ COMMITTED 隔离级别访问内存优化表。显式或隐式事务不支持它。使用诸如 WITH (SNAPSHOT) 之类的表提示为内存优化表提供支持的隔离级别。
我尝试更改数据库上的一些选项,例如:
更改数据库 MyDb 设置 ALLOW_SNAPSHOT_ISOLATION ON
在我的代码中也使用带有快照隔离的事务,但没有实现。