2009-04-21 3 views
0

나는이 공간에서 정확한 현지어가 빠진 것일 수도 있지만, 나는 SubSonic의 특정 기능을 찾고있다. NetTiers에서는 "DeepLoad"라고 불 렸습니다. 데이터베이스에 많은로드가 발생하여 하나의 데이터베이스 호출에서 많은 오브젝트 (즉,이 OrderDetail 및 모든 LineItem을 가져옵니다)를 가져옵니다.아음속 다이 업로드 : 지원 되는가?

다시 한 번 데이터 저장소로 채워진 밀도가 높은 개체 그래프 나 관련 항목을 빌드 한 다음 데이터 저장소로 실행하려고합니다.

어떻게이를 SubSonic에서 수행하며 SubSonic에서 무엇을 호출합니까?

답변

2

은 게으른 로딩 된 IQueryable를 사용하여 (아직 ... 거의 발표는 아니지만) :

var db=new NorthwindDB(); 
var order=db.Orders.Where(x=>.xID==20).SingleOrDefault(); 
Assert.Equal(3,order.OrderDetails.Count()); 

당신이 3하지 않은 경우 (필요로한다. net 3.5) 폴 (Paul)이 언급 한 바와 같이 액티브 레코드를 사용하여이 작업을 수행 할 수 있지만 두 번 호출 할 것입니다.

1

ActiveRecord의 DeepSave는 저장을 호출하기 만하면됩니다. 다음은 Northwind Order 클래스 외래 키 방법을 사용한 예입니다. 당신은 음속 3.0에서이 작업을 수행 할 수 있습니다

[Test] 
public void SelectOrderDetails() 
{ 
    Order order = new Order(10250); 
    OrderDetailCollection details = order.OrderDetails(); 
    Assert.IsTrue(details.Count == 3); 
}