通过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
        }
    }

通过LoadData中的ForeignKey加载CSLA列表

您可能已经意识到,CSLA不实现您的数据访问代码,您可以这样做。

数据门户确实帮助用数据编排加载对象。我假设您使用的是封装调用(DataPortal_XYZ),而不是数据门户中的工厂实现。

(我假设你已经读过"使用CSLA 4"电子书,或多年来类似的东西)

数据门户具有子对象概念。所以在你的根对象的DataPortal_Fetch方法(我假设是调用LoadData方法,如你的帖子中所示),你可以调用DataPortal。FetchChild获取每个子节点。

FetchChild方法接受一个参数数组,允许你传入任何必要的参数来加载每个子对象的数据。

在集合的情况下,父对象(列表类)通常调用DAL来获取集合的所有数据,然后循环调用FetchChild来创建和加载每个子对象。子数据的特定行作为参数传递。

在CSLA安装程序下载的Samples文件夹中有很多这样的例子。