通过LoadData中的ForeignKey加载CSLA列表
本文关键字:CSLA 列表 加载 ForeignKey LoadData 中的 通过 | 更新日期: 2023-09-27 18:12:31
我正在使用c#中的MVVM模式。我有一个placecchild, PlaceChildList类和一个Manage类其中有PlaceChildList。placecchild有一个ManageID的外键。
我想在"LoadProperty"使用具有ManageID外键的placecchild填充PlaceChildList。我知道有一种特殊的方法来处理外键,但我找不到任何
短:
类,在
PlaceChild
PlaceChildList
Manage包含PlaceChildList,我想用具有Manage的ForeignKey的PlaceChild对象填充。
表——在
管理Place (ForeignKey = ManageID)
private void LoadData(Data.Manage data)
{
using (BypassPropertyChecks)
{
this.ID = data.ID;
this.Name = data.Name;
// this.PlaceChildListdata = .... get data by foreign key this.ID
}
}
您可能已经意识到,CSLA不实现您的数据访问代码,您可以这样做。
数据门户确实帮助用数据编排加载对象。我假设您使用的是封装调用(DataPortal_XYZ),而不是数据门户中的工厂实现。
(我假设你已经读过"使用CSLA 4"电子书,或多年来类似的东西)
数据门户具有子对象概念。所以在你的根对象的DataPortal_Fetch方法(我假设是调用LoadData方法,如你的帖子中所示),你可以调用DataPortal。FetchChild获取每个子节点。
FetchChild方法接受一个参数数组,允许你传入任何必要的参数来加载每个子对象的数据。
在集合的情况下,父对象(列表类)通常调用DAL来获取集合的所有数据,然后循环调用FetchChild来创建和加载每个子对象。子数据的特定行作为参数传递。
在CSLA安装程序下载的Samples文件夹中有很多这样的例子。