2009-07-10 4 views
2

현재 데이터 검색에 LINQ to SQL을 사용하고 LINQ 쿼리로 내 사용자 지정 개체를 채 웁니다. 내 사용자 지정 개체는 datacontract에서 IsReference = true 특성을 사용하는 기본 클래스에서 상속받습니다. 그런 다음 객체 계층을 가져 와서 XML로 직렬화 한 다음 서비스로 보냅니다.LINQ, 사용자 지정 개체, serialization 및 개체 참조

그러나이 작업은 XML에서 파일 전체의 개체에 대해 개체 데이터가 반복된다는 점에서 효과적입니다. 내가 XML 파일에서 원하는 것은 객체가 같은 유형의 다른 객체와 같은 데이터를 가지고 있다면 (객체 트리에서 어디에 위치하는지에 관계없이) 첫 번째 객체에 대한 참조를 갖고 싶습니다. 데이터를 반복하지 마십시오.

LINQ DataContext 수준에서 처리 할 수 ​​있는지, 또는 각 개체에 대해 해시 테이블과 같은 것을 사용하여 해당 수준에서 추적해야한다면 내 사용자 지정 개체를 인스턴스화 할 수 있는지 확실하지 않은 개체 추적이 필요합니다. 유형.

은 여기 내 수업은 어떻게 생겼는지 : 나중에 내가 다른 클래스의 메소드와 같은 항목의 동일한 유형의 다른 목록을 만드는거야 내 프로그램에서

class Section1 { 
    public static MyClass GetClasses(int Id) 
    { 
    using (DataContext dataContext = new DataContext()) 
    { 
     var result = from items in dataContext.Table 
     where item.Id == Id 
     select items; 

     foreach (var entry in result) 
     { 
     MyClass myClass = new MyClass(); 
     myclass.Id = entry.Id; 
     } 
    } 
    return myclass; 
    } 
} 

내가 할 결과의 일부를 기대 첫 번째 호출과 동일 :

Class2 { 
    public static MyClass GetItemClasses(int ItemId) 
    { 
    MyClass myClass = new MyClass(); 

    using (DataContext dataContext = new DataContext()) 
    { 
     var result = from items in dataContext.Table 
      where item.Id == ItemId 
      select items; 

     foreach (var entry in result) 
     { 
     MyClass myClass = new MyClass(); 
     myclass.Id = entry.Id; 
     } 
    } 
    return myclass; 
    } 
} 

이렇게하면 일련 번호를 지정한 모든 개체가 성공적으로 채워집니다. 반복되는 객체에 대해 XML 파일에서 참조를 가질 수있는 방법에 대한 아이디어가 있습니까?

입력 해 주셔서 감사합니다.

답변

1

생각 나는 이것을 실행할 수있는 해결책을 찾은 것처럼 업데이트 할 것입니다.

내 사용자 지정 개체가 내 DataContext에서 분리되어 있으므로 추적하지 못했기 때문에 내 개체에 대한 조회 테이블을 만들고 새 개체를 인스턴스화하기 전에 해당 테이블을 확인합니다.

이것은 XML 파일의 참조 정보를 제공합니다.