这是一个示例模式,其中“=>”表示“一对多”关系:
Contract => ContractCustomers
Contract => ContractDiscounts
Customers => ContractCustomers
DiscountType => ContractDiscounts
我正在尝试检索合同对象及其所有相关详细信息使用对服务器的一次调用。
到目前为止,我使用了 LoadWith:
using (Data.ABWXDataContext db = new Data.ABWXDataContext())
{
DataLoadOptions options = new DataLoadOptions();
options.LoadWith<Data.Contract>(c => c.ContractCustomers);
options.LoadWith<Data.Contract>(c => c.ContractDiscounts);
options.LoadWith<Data.ContractDiscount>(c => c.DiscountType);
options.LoadWith<Data.ContractCustomer>(c => c.Customers);
db.LoadOptions = options;
var Contract = from con in db.Contracts
where con.ContractId == contractId
select con;
return Contract.ToList();
}
}
上面的代码可以很好地包含 ContractDiscounts 和 ContractCustomers 表。但是它不允许我访问(折扣类型,客户)。我明白他们不是合同的孩子,我怎么能带着合同对象陪他们呢?
如果这是一项简单的常见任务,我深表歉意。