gpt4 book ai didi

entity-framework - 重构 EF 嵌套连接以避免 Azure 上的 MSDTC

转载 作者:行者123 更新时间:2023-12-04 05:18:21 27 4
gpt4 key购买 nike

我已经部署到不支持 MSDTC 的 Azure 和 Azure SQL,我无法理解如何重新编写我的代码以防止我假设的嵌套连接。我对 EF 还很陌生,我对 TransactionScope 的了解并不好,所以我不确定我有正确的模式。

我正在尝试使用 repos,它调用 ObjectContext 的共享实例(我尝试在 EndRequest 上处理但遇到问题,所以这对我来说是另一个问题)。

我有一个事务多次调用 ObjectContext 实例上的 SaveChanges,但在某些时候它被丢弃了。是什么控制了这个,你能推荐我可以做些什么来让它正常工作吗?

最佳答案

如果您想避免分布式事务出现问题,您必须手动处理连接,因为每个 TransactionScope 只需要一个打开的连接。 = 一个具有用于所有查询和数据库更新的连接的上下文实例。代码应如下所示:

using (var context = new YourObjectContext()) {
context.Connection.Open();

...
}

I am trying to use repos, which call on a shared instance of the ObjectContext (I tried to dispose on EndRequest but had issues, so this is another problem for me).



如果您在多个请求之间共享您的上下文实例,或者更糟糕的是,如果您只使用单个上下文实例来处理所有请求,您应该立即停止并完全重新设计您的应用程序。 Otherwise it will not work correctly.

关于entity-framework - 重构 EF 嵌套连接以避免 Azure 上的 MSDTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13961294/

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