2010-02-04 44 views
2

我正在考虑 - 为了它来获取高性能的应用程序 - 让单一的DataContext中进行选择和更新缓存....NET的LINQ到SQL异步提交

为了在保持responsetimes低,我想创建像我下面写了个异步更新:

public void AsyncInsert() 
{ 
    DataContext dc = new DataContext(); 
    dc.MessageTable.InsertOnSubmit(new Message("test1")); 
    dc.MessageTable.InsertOnSubmit(new Message("test2")); 
    dc.MessageTable.InsertOnSubmit(new Message("test3")); 

    dc.AsynchronousSubmitChanges(); // delegate to other thread 
} 

是这样的可能或没有并行线程写入同一DataContext的任何问题,甚至想像的吗?

回答

1

我想你在这里有几个问题。首先,如果我正确记得,L2S数据库上下文对象不是线程安全的。我尝试过使用多线程并遇到问题。其次,你想保持你的数据上下文对象在最短的时间内保持活动状态。这是一个沉重的重量物体。因此,您想实例化它,快速完成工作并发布它。

+0

+1您的数据上下文有点像您的工作单元。 – Perpetualcoder 2010-02-04 20:28:36