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; }
}
}
그래서, 당신은 두 테이블 EF 당신을 위해 만든 당신이 다른에 하나의 내용을 복사 할 둘 다? 내가 맞습니까? –
내가 아는 한, 코드 에서처럼 하나씩 복사해야합니다. 대량 삽입이 불가능합니다. –
NewProductContext()는 어떤 클래스에 매핑됩니까? 예를 들어, 일반적으로 컨텍스트에서 DbSet의 속성이 있습니다. –