gpt4 book ai didi

c# - 在 Entity Framework 中关闭事务

转载 作者:太空狗 更新时间:2023-10-29 23:33:35 25 4
gpt4 key购买 nike

我们正在尝试实现一个快速原型(prototype),以证明 Entity Framework 可以实现某些功能...

我们有一个不支持事务的 Informix 数据库 - 是否可以将 Entity Framework 用于此?

我们有一个工作模型和工作提供者,但似乎我们无法在不启动事务的情况下执行 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();
}
}

我们得到的错误如下:

An error occurred while starting a transaction on the provider connection. See the inner exception for details.

我环顾四周,建议使用抑制,但它似乎不起作用...有什么想法吗?

最佳答案

回答您的主要问题(我对 Informix 一无所知)- 您不能抑制事务。如果 SaveChanges 没有找到现有事务,它将始终在提供者上启动一个新事务。在事务中运行 SaveChanges 是 EF 的关键特性。

顺便说一句。我检查了 IBM Data Provider并且我发现仅支持 EFv1,因此 EFv4 和 EFv4.1 的功能不必工作(除非有更新版本的提供程序)。

关于c# - 在 Entity Framework 中关闭事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9298357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com