sqlbulkcopy插入后,表对象为null

时间:2014-10-01 23:02:01

标签: c# sql .net sqlbulkcopy

我正在尝试使用sqlBulkCopy将数据插入到数据库表中它插入了很好的数据,然后我想查询我的数据但是当我引用更新的表时,我收到错误:对象为空。我能够使用实体结构查看此表,但此对象的值为null:

      using (var cn = new AdventureWorksEntities())
        {
            cn.Database.ExecuteSqlCommand("TRUNCATE TABLE tmpTable");
            sqlConnectionString = cn.Database.Connection.ConnectionString;
        using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString))
          {
            bulkCopy.DestinationTableName = "dbo.tmpTable";
            try
            {
                // Write from the source to the destination.
                bulkCopy.WriteToServer(table);
            }
            catch (Exception ex)
            {
                //ErrorHandler
            }
          }
        // Now I am trying to get data from the updated table:

            var uniqueItemIDs = cn.tmpTable.Select(m => m.ItemID).Distinct();
        // And from the line above I am getting the Error: tmpTable is null.
        }

其他表(没有使用SqlBulkCopy更新)很好并且可以访问。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我认为问题是您需要刷新数据库上下文。在执行插入之前打开DB上下文。