2009-11-19 3 views

답변

2

제공된 Article 및 Category 테이블에 해당 행이있는 경우 표준 삽입과 다를 수 없습니다.

반면에 테이블이 비어 있으면 SubmitChanges를 실행하기 전에 해당 테이블에 행을 삽입해야합니다.

Linq-to-Sql이 우선 순위를 관리합니다.

전체적으로, Article_to_Categories 테이블에 행을 삽입하고 어떤 일이 발생하는지 간단히 확인하는 것이 좋습니다.


편집 : 경우 웹에서 예를 Linq에 - 투 - SQL에서 행을 삽입 고려하는 방법을 이해하지 않습니다

+0

안녕하세요, 저는 linq을 처음 사용했습니다. 내가 혼란스러워하는 너무 많은 nhibernate를 읽고 있었다! – mrblah

0

내 경험에 비추어 볼 때이 같은 연관 테이블에 레코드를 삽입하는 것과 비슷한 문제가있었습니다. 나에게 맞는 것은 외래 키 관계를 존중하고 외래 키 ID가 아닌 개체를 추가하는 것입니다. 내 연구를 기반으로 피겨 수 있기 때문에 내가 추가하는 경우로서 근처

var newRec = new Article_To_Categories 
{ 
    Article = DataContext.Articles.Where(a => a.Article_ID == 1).SingleOrDefault(), 
    Category = DataContext.Articles.Where(a => a.Category_ID == 2).SingleOrDefault() 
}; 

DataContext.Article_To_Categories.InsertOnSubmit(newRec); 
DataContext.SubmitChanges(); 

:

예를 들어, 나를 위해 작동하지 않았다 : 나를 위해 일한 무엇

var newRec = new Article_To_Categories 
{ 
    Article_ID = 1, 
    Category_ID = 2 
}; 

DataContext.Article_To_Categories.InsertOnSubmit(newRec); 
DataContext.SubmitChanges(); 

이 있었다 ID가 아닌 객체 인 경우 결과 Article_To_Categories 객체가 관련 레코드의 내용으로 올바르게 업데이트됩니다. 업데이트 프로세스의 일부는 관련 레코드를 다시 삽입해서는 안된다는 알림입니다. ID로 새 레코드를 업데이트하는 경우 LINQ-to-SQL이 Article 및 Category 테이블에서 레코드를 자동으로 검색하지 않는다고 생각합니다. 즉, 관련 레코드는 다음과 같은 기존 유효성 검사 대상이됩니다. 개체 또는 데이터베이스

관련 문제