2014-10-01 2 views
0

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의를 사용하여 업데이트되지 않은 것을) 잘하고 액세스 할 수 있습니다. 누군가 도울 수 있습니까?

+0

SqlBulkCopy 작업 이전에'cn.tmpTable' *에 액세스 할 수 있습니까? 그 테이블은 EF (?) 데이터 컨텍스트의 일부가 아닌 것 같습니다. – Blorgbeard

+0

예. 할 수 있습니다. edmx 다이어그램에서도 볼 수 있습니다. –

답변

1

난 당신이 DB 컨텍스트를 새로 고칠 필요가 있다고 생각합니다. 삽입하기 전에 DB 컨텍스트를 엽니 다.

관련 문제