Linq 怎么并发操作???不冲突???用多线程插入数据 老报错
=======================================2011-07-28 11:26:46System.InvalidOperationException: 在调用 SubmitChanges 期间不能执行此操作。
在 System.Data.Linq.DataContext.CheckNotInSubmitChanges()
在 System.Data.Linq.Table`1.InsertOnSubmit(TEntity entity)
在 FindTextDemo.MainForm.ExcelToDB(String strFile) 位置 E:\FindTextDemo\FindTextDemo\MainForm.cs:行号 591E:\财务数据\系统项目收款表\九州文化\崔健.xls
=======================================
用多线程插入数据 老报错
--------------------编程问答-------------------- 用事务
http://www.xker.com/page/e2009/0915/78334.html --------------------编程问答-------------------- http://www.cnblogs.com/tonytonglx/articles/2095512.html --------------------编程问答-------------------- 你是不是整个层共用一个DataContext?
DataContext 是一个轻量级对象,应该在函数体内申明,释放。
--------------------编程问答-------------------- 全部都是插入数据不用考虑并发问题。
并发问题只是出现在边读边写的时候 --------------------编程问答-------------------- 各用各的DataContext,不能共享。 --------------------编程问答--------------------
那该 怎么解决异常啊??? --------------------编程问答--------------------
你说每个线程一个DBContext? --------------------编程问答-------------------- 楼主都还不知道多线程是怎么回事呢。
插入数据库用多线程,对性能没有帮助。
--------------------编程问答--------------------
别光提问题 ,说解决方案啊 --------------------编程问答-------------------- 数据库insert操作 不怕记录多,只怕并发数多.
比如 一万条记录由一个连接提交 10秒搞定, 而每个连接insert一条记录,一万个连接去操作,服务器只怕会down掉.
多线程应用在数据库insert场景中,适用于把界面和DB操作分开两个线程,防止长时间的DB操作时,UI没有响应,造成假死现像
给分 --------------------编程问答--------------------
那楼上的怎么还说插入数据库用多线程,对性能没有帮助??? --------------------编程问答--------------------
void Insert()
{
using(DataContext1 db = new DataContext1())
{
//插入操作
}
}
然后多线程去运行 insert方法。就不会出现你说的异常
补充:.NET技术 , C#