C# Nhibernate递归结构中正确的多线程会话处理
我有一些递归结构,如:C# Nhibernate递归结构中正确的多线程会话处理,c#,multithreading,session,nhibernate,concurrency,C#,Multithreading,Session,Nhibernate,Concurrency,我有一些递归结构,如: Folder+ | +A+AA+AAA +AAB +AAC +AB +AC +B +C 我想用多个线程处理这个结构,所以我使用了TPL数据流,如下所示: m_dataOperationQueue = new ActionBlock<Folder>(x => ProcessFolder(x) , n
Folder+
|
+A+AA+AAA
+AAB
+AAC
+AB
+AC
+B
+C
我想用多个线程处理这个结构,所以我使用了TPL数据流,如下所示:
m_dataOperationQueue = new ActionBlock<Folder>(x => ProcessFolder(x)
, new ExecutionDataflowBlockOptions { MaxDegreeOfParallelism = 5 });
[Transaction(TransactionMode.Requires)]
public virtual Folder SaveNewFolder(Folder folder)
{
using (var session = SessionManager.OpenSession())
{
session.Save(folder); //At this line i have most errors
}
}
我可以从你的方法中看出一些问题
哦,关于1和2我都知道。我要做的是将整个结构保存到db中,然后我想将顶层排队进行处理。另外,当我完成parrent的处理时,我不会删除子对象(这里没有级联),我只会更新并使子对象孤立->从而使它们成为新的parrent