C#4.0任务库死锁

Son*_*oul 1 .net c# sql

我正在试验这段代码:

        foreach (var r in _vm.Rules.Take(20)) {
            Task.Factory.StartNew(() => {
                new SQLRuleSerializer().SaveRule(_vm.SelectedKey, r);
            });             
        }
Run Code Online (Sandbox Code Playgroud)

错误:

事务(进程ID 600)在锁资源上与另一个进程死锁,并被选为死锁牺牲品.重新运行该交易.

考虑到我没有任何明确的锁,我不确定这是怎么死锁的...我猜问题是串行器是一个代理,即使通过单独的实例也无法并行调用?

Bry*_*sby 9

事务(进程ID 600)在锁资源上与另一个进程死锁,并被选为死锁牺牲品.重新运行该交易.

死锁来自SQL Server,而不是C#代码.