2013-01-24 2 views
0

우리는 클래스 X 있습니다. Class X에는 아래와 같이 여러 유형의 목록이 많이 포함되어 있습니다. 모든 목록은 db의 하위 테이블입니다.asp.net에서 다른 개체의 목록을 포함하는 db 개체를 유지하는 방법?

public class X 
{ 
    public List<A> As { get; set; } 
    public List<B> Bs { get; set; } 
    public List<C> Cs { get; set; } 
    public List<D> Ds { get; set; } 
    public List<E> Es { get; set; } 
} 

내 저장소 X의 인스턴스에 취해 DB에 대한 모든 목록을 지속 할 필요가있다.

public void Save(X value) 
{ 
    // Save code here 
} 

모든 하위 목록을 저장하는 최선의 선택은 무엇입니까? 목록의 각 유형은 db 테이블에 매핑됩니다. 그래서 각 데이터베이스에 대한 테이블에 A, B, C, D, E이 있습니다.

목록을 저장할 각 테이블에 대한 방법. 예 : InsertAsById(List<A> values, int id) 등등. 그런 다음 Save() 내에서 해당 메소드를 호출하십시오. 이 방법을 사용하면 저장 방법은 다음과 같습니다.

public void Save(X value) 
{ 
    InsertAsById(value.As, value.id); 
    InsertBsById(value.Bs, value.id); 
    // So on for each list. 
} 

ADO.NET을 사용해야합니다. 프레임 워크가 없습니다.

+0

Entity Framework에서는이 작업을 자동으로 수행합니다. 나는 그것을 사용하지 않을 이유가 무엇인지 물어봐도 될까요? –

+0

DB (SQLBase)에서 작동하지 않을 것이라고 생각합니다. 그들은 최근에 완전히 관리 된 .net 공급자를 릴리스했지만 EF와 함께 작동하는지 여부는 확실하지 않습니다. –

답변

0

ADO.NET을 사용하는 데만 제한되는 경우 두 가지 경로가 있다고 생각합니다.

첫 번째는 개별적으로 기록과 문제의 삽입/업데이트를 통해 반복하는 것입니다

(너무 오래 나는 용어가 정확한지 잘 모르겠습니다 된) 업데이트를 수행하는 데이터 세트 및 데이터 어댑터를 사용하는 것 문을 원시 SQL로 처리합니다.

낮은 수준의 프레임 워크를 사용하여 높은 수준의 작업을 쉽게 만들려고 할 때 많은 현대 ORM이 필요한 기능을 제공합니다.

관련 문제