2011-12-22 5 views
1

데이터베이스 테이블에 매핑 된 개체 모델이 있습니다. 업데이트 쿼리 지금은 다음과 같습니다 : 그 코드가 삽입 부분 (이 InsertOnSubmit 일부 잘못된 인수가 있음을 알려줍니다) 작동하지 않습니다linq-to-sql InsertOnSubmit

public MyObjectModel CreateNewRecord(MyObjectModel TheNewObject) 
{ 
    using (MyDataContext TheDC = new MyDataContext()) 
    { 
    TheDC.MyTable.InsertOnSubmit(TheNewObject); 
    } 

    return TheNewObject; 
} 

. 또한 삽입 된 항목의 기본 키 값을 가져올 수 있도록 삽입 된 개체를 반환하고 싶습니다.

무엇을 변경해야합니까? 도움 주셔서 감사합니다.

+1

어떤 종류가'TheDC.MyTable'입니까? – Matthias

+0

@MatthiasKoch : 정의를보기 위해 linq-to-SQL 클래스에 갈 때 "public System.Data.Linq.Table TableName"과 같은 것이 있습니다. – frenchie

+0

@MatthiasKoch : 알았어요. MyTable 형식의 개체를 만든 다음 MyObjectModel 개체의 속성을 MyTable 개체로 복사해야했습니다. 감사. 여전히 기본 키를 반환하는 작업. – frenchie

답변

2

경우, 당신은 단지 유형 ObjectModel의 개체를 추가 할 수 있습니다. linq2sql 디자이너에서 해당 속성이 모두 포함 된 MyObjectModel 클래스를 만들어보십시오.

3

MyTable.InsertOnSubmit(TheNewObject)에 새 개체의 유형이 MyTable인지 확인하십시오. 그런 다음 SubmitChanges() 전화 : MyTable 유형 Table<ObjectModel>이다

public MyObjectModel CreateNewRecord(MyObjectModel TheNewObject) 
{ 
    using (MyDataContext TheDC = new MyDataContext()) 
    { 
    TheDC.MyTable.InsertOnSubmit(TheNewObject); 
    TheDC.SubmitChanges(); 
    } 

    return TheNewObject; 
} 
+0

"InsertOnSubmit에 잘못된 인수가 있습니다." 당신의 대답으로는이 문제가 해결되지 않습니다. – Matthias

+1

@MatthiasKoch 너무 바빠서 편집 중이 었는데 ... – TheBoyan