=======================================
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
=======================================用多线程插入数据 老报错

解决方案 »

  1.   

    用事务
    http://www.xker.com/page/e2009/0915/78334.html
      

  2.   

    http://www.cnblogs.com/tonytonglx/articles/2095512.html
      

  3.   

    你是不是整个层共用一个DataContext?DataContext 是一个轻量级对象,应该在函数体内申明,释放。
      

  4.   

    各用各的DataContext,不能共享。
      

  5.   


    你说每个线程一个DBContext?
      

  6.   

    数据库insert操作 不怕记录多,只怕并发数多. 
    比如 一万条记录由一个连接提交  10秒搞定, 而每个连接insert一条记录,一万个连接去操作,服务器只怕会down掉.
    多线程应用在数据库insert场景中,适用于把界面和DB操作分开两个线程,防止长时间的DB操作时,UI没有响应,造成假死现像给分
      

  7.   


    void Insert()
    {
       using(DataContext1 db = new DataContext1())
       {
           //插入操作
        }
    }然后多线程去运行 insert方法。就不会出现你说的异常