SQL Server 2014中的内存表和事务

use*_*280 5 c# sql-server entity-framework sql-server-2014

我正在使用Entity Framework 6.1.0和SQL Server 2014.

我试图在我创建的事务下执行几个操作,如下所示:

(var transaction = context.Database.BeginTransaction())
{


}
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误

仅对自动提交事务支持使用READ COMMITTED隔离级别访问内存优化表.显式或隐式事务不支持它.使用表提示(例如WITH(SNAPSHOT))为内存优化表提供支持的隔离级别.

我已经尝试了所有可能的隔离级别(内存表中允许的那些)但无济于事.

如何从内存表中的代码执行原子事务?

use*_*280 2

解决方案是启用 MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT

资源: http://msdn.microsoft.com/en-us/library/dn133175 (v=sql.120).aspx