2009-07-23 6 views
2

저는 Linq to SQL 모델을 사용하여 새로운 프로젝트를 시작했습니다. 그리고 저는 많은 관계를 구현했습니다. 내가 오류가 저장하기 전에 하나를 제거 후 일부 자식 개체를 추가하려고하면Linq to SQL 다 대다 관계

http://blogs.msdn.com/mitsu/archive/2008/03/19/how-to-implement-a-many-to-many-relationship-using-linq-to-sql-part-ii-add-remove-support.aspx

,

시스템 : 나는 이것을 구현하는 방법에 대한 좋은 정보를 제공합니다이 블로그를 발견했다 .InvalidOperationException : 이없는 엔티티를 제거 할 수 없습니다.

아이디어가 있으십니까? 누군가는 이미 블로그 작성자에게이 점에 대해 논평했지만 응답이 없습니다.

많은 감사를드립니다!

답변

0

DataContext로 빨려 들어간 엔티티에서 DeleteOnSubmit을 호출하고 있습니다.

(다소 해키 방법)이 있는지 확인하려면 다음을 수행하십시오

var e = some_entity; 

var cs = dc.GetChangeSet(); 

if (cs.Inserts.Any(x => x == e)) 
{ 
    dc.SomeTable.DeleteOnSubmit(e); 
} 

dc.SubmitChanges(); 
0

나는 저자가없는 SQL에 LINQ와이 특정 게시물 '메모리'작동하고 있음을 언급하고 그 이유는 의심 . 또 다른 방법은 onAdd 이벤트를 수정하여 추가 된 객체를 컨텍스트에 삽입하는 것인데, 이는 적어도보고있는 오류를 완화시켜야합니다.

0

PLINQO이 다 대다 관계를 처리하는 방식을 살펴보십시오. 다 대다 관계를 통해 다른 엔티티와 관련된 각 엔티티의 목록이 있습니다. 여기에 언급 된 오류를받지 않고도 추가 및 제거 할 수 있습니다.