关闭实体框架中的事务
本文关键字:事务 框架 实体 | 更新日期: 2023-09-27 18:24:49
我们正在尝试实现一个快速原型,以证明实体框架是可能的。。。
我们有一个InformixDB不支持事务——有可能使用实体框架吗?
我们有一个工作模型和工作提供者,但似乎我们无法在没有事务的情况下执行CRUD查询——我们甚至试图对它们进行超压。。。
[Test]
public void TestMethod1()
{
entities ent = new entities();
var a = ent.brands.Select(x => x);
using (TransactionScope trans = new TransactionScope(
TransactionScopeOption.Suppress))
{
ent.brands.AddObject(new brand() { br_name = "New Test Brand" });
ent.SaveChanges();
}
}
我们得到的错误如下:
在提供程序连接上启动事务时出错。有关详细信息,请参阅内部异常。
我环顾四周,建议使用抑制,但似乎不起作用。。。有什么想法吗?
要回答您的主要问题(我对Informix一无所知),您不能支持事务。如果SaveChanges
没有找到现有的事务,它将始终在提供者上启动一个新的事务。在事务中运行SaveChanges
是EF的关键特性。
Btw。我检查了IBM Data Provider,发现只支持EFv1,所以EFv4和EFv4.1中的功能不必工作(除非有更新版本的提供程序)。