0

この分野で正しい専門用語が欠けているだけかもしれませんが、SubSonic の特定の機能を探しています。NetTiers では「DeepLo​​ad」と呼ばれていました。ディープ ロードがデータベースに実行され、1 回のデータベース呼び出しで多くのオブジェクトがフェッチされます (つまり、この OrderDetail とそのすべての LineItem がフェッチされます)。

繰り返しになりますが、密集する可能性のあるオブジェクト グラフまたはデータ ストアによって入力された関連項目が構築されたら、データ ストアを実行したいと考えています。

SubSonic でこれを行うにはどうすればよいですか? SubSonic では何と呼ばれていますか?

4

2 に答える 2

2

これは、SubSonic 3.0 (まだリリースされていませんが、ほぼリリースされています...) で 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 が言及しているように Active record を使用してこれを行うことができますが、2 つの呼び出しが行われます。

于 2009-04-21T02:21:13.037 に答える
1

熱心な読み込みはなく、ActiveRecord の DeepSave は Save を呼び出すだけです。これは、Northwind Order クラスの外部キー メソッドの例です。

[Test]
public void SelectOrderDetails()
{
    Order order = new Order(10250);
    OrderDetailCollection details = order.OrderDetails();
    Assert.IsTrue(details.Count == 3);
}
于 2009-04-21T02:09:22.020 に答える