2010-06-29 4 views
0

Order 클래스와 TempOrder 클래스 중 하나의 두 개의 개별 개체를 만들었습니다. db.TempOrders.InsertOnSubmit (obj)을 사용하여 db에 TempOrder 객체를 삽입하려고 시도한 다음 db.SubmitChanges를 호출하면 Order 객체도 제출됩니다 (datacontext 또는 기타 객체에 첨부되지 않고). 데이터베이스의 두 객체 간에는 아무런 관계가 없지만 클래스에 간단한 멤버 함수를 작성하여 TempOrder가있을 때 Order 객체를 만들고 그 반대의 경우 (toNewOrder - toNewTempOrder)를 만들었습니다. 내가 사용하고 아래의 코드는 볼 수 있습니다 :LINQ DataContext가 첨부되지 않은 개체를 삽입합니다.

db.Add (온도)이 변경 집합이라고
if(order.PaymentType == "Paypal") 
{ 
    TempOrder temp = new TempOrder(); 
    temp = order.ToNewTempOrder(); 
    db.Add(temp);//Add is calling datacontext.TempOrders.InsertOnSubmit and datacontext.SubmitChanges 
} 

은 임시 객체와 순서 개체도 포함되어 있습니다. 어떻게 이것을 피할 수 있습니까? 내가 뭐 잘못하고 있니? 이것은 .toNewTempOrder() 함수 때문입니다? 나는 이것에 붙어있다.

+0

TempOrder가 주문에서 상속합니까? –

+0

아니요. 관계가없는 두 개의 다른 클래스 (두 개의 다른 테이블이 없습니다.)는 위에서 설명한 개체의 속성을 다른 개체의 속성으로 복사하는 함수입니다. – gmakrygiannis

+0

ToNewTempOrder() 메소드에 대한 코드를 게시 할 수 있습니까? – decyclone

답변

0

코드가 스 니펫에 표시되는 주문 객체를 어떻게 얻었습니까?

C# 코드에서 다른 코드에서 파생되지 않았습니까? C# 클래스가 수작업으로 작성된 경우 이들이 나타내는 SQL 테이블은 완전히 연결되지 않을 수 있습니다.

db.Add (...)가 오버로드되었거나 일부 기본 유형을 취한 후 인수의 실제 유형을 기반으로 결정할 수 있습니까?

관련 문제