SalesOrderHeader OH = (SalesOrderHeader)this.RegisterPrimaryBizObj(new SalesOrderHeader()); SalesOrderDetail OD = (SalesOrderDetail)this.RegisterPrimaryBizObj(new SalesOrderDetail()); //There are overloads of this method. You may want to use one of them... OH.RegisterChildBizObj(OD);Then, if you look at mmBusinessObject.cs, you'll see there are Hook methods that the child uses to respond when its parent raises certain events. In this case, you'll be interested in HookParentNavigated and HookParentRetrieved. Both have a mmBusinessStateChangeEventArgs parameter with PrimaryKey or PrimaryKeys fields populated with the parent's primary key information. You'll use that to retrieve the child's dataset:
//This would be in the child business object. protected override void HookParentNavigated(mmBusinessObject bizObj, mmBusinessStateChangeEventArgs e) { //There's a section in the devguide that explains how to send parameters. //This isn't how you want to do it, just an illustration of the concept! this.FillDataSet(this.GetCurrentDataSet(), "SELECT * FROM ChildTable WHERE FKField = " + e.PrimaryKey.ToString() + "'"; }Hope that helps,