gpt4 book ai didi

c# - TransactionScope,sql 事件探查器的开始事务在哪里?

转载 作者:可可西里 更新时间:2023-11-01 07:54:36 26 4
gpt4 key购买 nike

我需要在事务上下文中做这样的事情

using(var context = new Ctx())
{

using (TransactionScope tran = new TransactionScope())
{
decimal debit = 10M;
int id = 1;

var data = context.Cashier
.Where(w => w.ID == id)
.Select(s => new{ s.Money })
.Single();


Cashier cashier = new Cashier(){ ID = id };
context.Cashier.Attach(cashier);

cashier.Money = data.Money - debit;
context.Entry(cashier).Property(p => p.Money ).IsModified = true;

context.SaveChanges(SaveOptions.None);
tran.Complete();
}
}

我正在运行 sql 事件探查器,但看不到 begin tran,该代码块是否正确?我错过了什么吗?

最佳答案

正如@Marc 在他的评论中所说,这些消息可能被过滤掉了。您只会在默认配置文件中获取 T-SQL 事务消息,而不是直接使用 API 发送的事务消息(如 TransactionScope 所做的那样)。

在 SQL Server Profiler 中,转到跟踪事件选择并选中“显示所有事件”复选框。底部是“交易”类别,它应该可以满足您的需求。具体来说,以 TM: 开头的事件。

关于c# - TransactionScope,sql 事件探查器的开始事务在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6635445/

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