小编Stu*_*art的帖子

Sql Notification支持的事务隔离级别

我正在使用事务运行多个插入.我正在使用SqlDependency类让客户端机器知道服务器何时更新.

我遇到的问题是每当我使用事务插入时,无论我为事务设置了什么隔离级别,SqlNotificationEventArgs都会将e.Info作为Isolation返回,这表明我为那些事务设置了错误的隔离级别(我认为) .当我在不使用事务的情况下插入时,一切都顺利进行.

我的问题是,使用Sql Notification时,事务支持的隔离级别(如果有)是什么?

以下是我用于通知的一些代码:

void DataChanged(object sender, SqlNotificationEventArgs e) {
    var i = (ISynchronizeInvoke)_form;
    if (i.InvokeRequired) {
        var tempDelegate = new OnChangeEventHandler(DataChanged);
        object[] args = { sender, e };
        i.BeginInvoke(tempDelegate, args);
    } else {
        var dependency = (SqlDependency)sender;
        if (e.Type == SqlNotificationType.Change) {
            dependency.OnChange -= DataChanged;
            GetData(dependency);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

对于交易:

public void ExecuteNonQueryData(List<string> commandTexts) {
    SqlConnection connection = null;
    var command = new SqlCommand();
    SqlTransaction transaction = null;
    try {
        connection = new SqlConnection(GetConnectionString());
        connection.Open();
        transaction = …
Run Code Online (Sandbox Code Playgroud)

sql sql-server transactions isolation-level sql-server-2008

5
推荐指数
1
解决办法
640
查看次数

SqlDependency而不执行查询

是否可以SqlDependency在不执行查询的情况下在Sql Server中运行C#?

我有一些表可以增长得相当大.跨表执行查询以判断行是否已更改可能需要很长时间.

c# sql-server sqldependency

3
推荐指数
1
解决办法
1710
查看次数