使用.NET程序集作为Business Data Connectivity数据源(四)

在我们之前的博文中,我们学习了如何用Visual Studio 2010为AdventureWork2000数据库的Department表创建 BCS模型和定义BCS方法( FinderSpecific Finder,Id Enumerator Creator和Updater)。


本文我们将学习如何在Visual Studio 2010中配置两个BCS外部内容类型间的关联。在前面的文章中,我们已经用过了Department表,因此Employee表就成了第二个外部内容类型的最佳选择,我们将创建部门与雇员间的关联。首先,我们需要建立Employee BCS外部内容类型。因此请打开你先前用过的Department外部内容类型的项目,并使用完全相同的步骤创建Employee外部内容类型。你不需要定义所有的方法,只要有Finder和Specific Finder就足够了。

步骤

1)请确保你已经为Employee外部内容类型定义好Finder和SpecificFinder方法。你可以使用BCS业务数据列表Web部件和BCS业务数据列表项Web部件来检查是否可以正确地检索到Employee数据。当前状态下在Visual Studio 2010里的BCS模型图应该如下图所示:


Employee表包含很多列,在本例中,我们只使用EmployeeID, FirstName, LastName, Title, DepartmentId。

2)在Visual Studio 2010里查看工具箱,然后点击 “Association”。

 

3)要建立Department与Employee之间的关联,点击完工具箱的关联图标后,先点界面上Department实体再点Employee实体。


4)弹出一个新的对话框,在这里你可以配置关联方法。


5)  在第一部分 - Identifier Mapping,你可以从源实体映射标识符到目标实体;而在第二部分 - Association Methods,您可以添加/删除AssociationNavigator方法。在我们的例子中,我们将删除EmployeeToDepartment方法,只留下DepartmentToEmployee方法。


6)按“确定”按钮,将创建Department(来源)和Employee(目标)外部内容类型的关联。


7)接下来,我们需要编写关联方法的C#代码。打开DepartmentService.cs文件,你会看到自动生成的DepartmentToEmployee方法。用下面的C#代码方法替换其内容。
复制代码
public static IEnumerable<Employee> DepartmentToEmployee(short departmentId)
{
    
EmployeeDataContext db = new EmployeeDataContext("server=localhost;database=adventureworks2000;uid=***;pwd=***");
    
IEnumerable<Employee> records = from record in db.Employees
                                    
where record.DepartmentID == departmentId
                                    
select new Employee
                                    {
                                        EmployeeID 
= record.EmployeeID,
                                        FirstName 
= record.FirstName,
                                        LastName 
= record.LastName,
                                        Title 
= record.Title,
                                        DepartmentID 
= (Int16)record.DepartmentID
                                    };
    
return records;
}
复制代码

 

8)按Ctrl + F5键重新编译和部署该解决方案。打开SharePoint站点,进入页面的编辑模式。在页面上拖放一个“业务数据列表”Web部件和一个“与业务数据相关的列表”Web部件。

 

9)在业务数据列表WebPart中选择Department实体,在相关WebPart中选择Employee实体。 

 

10)我们需要将这两个WebPart连接起来。在Department WebPart处于编辑模式时,通过WebPart菜单来添加一个连接。 

 

11)完成连接后,你可以点击Department列表每行头部出现的图标,将调用关联方法,在相关里面显示相应部门的雇员记录。

 

 

参考资料

create association method for bcs dot net assembly 

posted @   Sunmoonfire  阅读(1436)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示