2013-07-26 2 views
3

새 데이터베이스와 기존 데이터베이스에 대해 entityframework codefirst를 사용하고 있습니다. 이제 Northwind 테이블 제품의 쿼리 결과를 NewProductContext에있는 NewProducts라는 새 쿼리 결과로 저장하려고합니다. 이 솔루션에서는 NewProductContext라는 클래스를 만들었습니다.이 클래스는 id와 newname의 두 열이있는 새 데이터베이스를 만드는 데 사용되었습니다.기존 테이블의 쿼리 결과를 다른 새 테이블에 저장하는 방법

static void Main(string[] args) 
    { 
     using (var db = new NorthwindContext()) 
     { 
      { 

       Console.Write("Enter a name for a new Product: "); 
       var productname = Console.ReadLine(); 

       var product = new Product { ProductName = productname }; 
       db.Products.Add(product); 
       db.SaveChanges(); 
       //LINQ query for the table 
       var query = from p in db.Products 
          //where p.ProductName.Contains("A") 
          orderby p.ProductName.Length 
          select p; 

       Console.WriteLine("All products in the database:"); 
       foreach (var item in query) 
       { 
        Console.WriteLine(item.ProductName); 
       } 

       Console.WriteLine("Press any key to exit..."); 
       Console.ReadKey(); 

      } 
     } 
    /* using (var db1 = new NewProductContext()) 
     { 
      foreach (var item in query) 
      { 
       var newpro = item; 
       db.NewProducts.Add(item) 
       db.Savechanges(); 
      } 
     }*/ 

덧글의 방법은 단지 내 생각입니다. 많은 오류가 있음을 알고 있습니다. 그러나 누구든지 쿼리 결과를 저장하는 새로운 방법을 제공 할 수 있습니까? 이 코드로 데이터베이스를 만들었습니다.

namespace CodeFirstExistingDatabaseSample 
{ 
    public class NewProduct 
    { 
     public int NewProductID { get; set; } 
     public string NewProductName { get; set; } 

    } 

    public class NewProductContext : DbContext 
    { 
     public DbSet<NewProduct> NewProducts { get; set; } 
    } 
} 
+0

그래서, 당신은 두 테이블 EF 당신을 위해 만든 당신이 다른에 하나의 내용을 복사 할 둘 다? 내가 맞습니까? –

+0

내가 아는 한, 코드 에서처럼 하나씩 복사해야합니다. 대량 삽입이 불가능합니다. –

+0

NewProductContext()는 어떤 클래스에 매핑됩니까? 예를 들어, 일반적으로 컨텍스트에서 DbSet 의 속성이 있습니다. –

답변

0

일반 SQL은 어떻습니까? 두 데이터베이스가 같은 서버에 있어야합니다 물론 그

INSERT INTO targetDatabase.new_products (id,newname) 
(SELECT id, name FROM sourceDatabase.products); 

같은 뭔가

관련 문제