在C#代码中执行BCS外部内容类型方法
2010-09-30 22:44:26 来源:WEB开发网7)如果是Finder方法的话我们要执行它,然后简单的遍历一下返回的记录并得到记录的数量。
可以调用IEntity的FindFiltered方法来执行finder方法。
FindFiltered方法的第一个参数是筛选器的集合,可以通过调用IMethod的GetFilters方法获得,然后作为参数传给该方法实例。
FindFiltered 方法的第二个参数是相应的LOB(Line Of Business,企业核心业务系统)系统的实例,可以通过IEntity的GetLobSystem方法,然后再调用 GetLobSystemInstance就可以获得。所有这些调用完成后,我们就可以循环遍历所返回的enumerator,并使记录计数器自增。
//调用Finder方法
IEntityInstanceEnumerator ieie = entity.FindFiltered(method
.Value.GetFilters(methodInstance), entity.GetLobSystem().GetLobSystemInstances()[0].Value);
//返回结果计数
while (ieie.MoveNext())
{
finderMethodRecordsCount++;
}
8)对于得到的SpecificFinder方法,调用它的方法有一点不同。因为SpecificFinder方法总是要求传递至少一个参数(该参数映射到标识符)。
我们需要创建一个Identity类的实例,并作为参数传给IEntity的FindSpecific方法。FindSpecifice方法的第一个参数是标识符,第二个参数是LOB系统的实例。
当FindSpecific方法执行完成后,会返回一个IEntityInstance实例。
在本例中我们硬编码了一个标识符的值(int i=1),然后只是简单的从EntityInstance中返回Name字段的值。
//标识符的值
int i = 1;
//创建一个标识符
Identity identity = new Identity(i);
//调用SpecificFinder方法,获取该实体的实例
IEntityInstance entInstance = entity.FindSpecific(identity, entity.GetLobSystem()
.GetLobSystemInstances()[0].Value);
//显示SpecificFinder所返回的实体实例的Name字段值
strName = entInstance["Name"].ToString();
9)代码编写好后,按CTRL+F5部署到你的SharePoint站点。
10)在你的SharePoint站点中编辑页面,并添加我们刚刚部署的Visual WebPart 。
该WebPart位于Custom分类下。
它会显示产品外部内容类型的方法名,调用Finder方法后返回的记录个数,以及调用SpecificFinder方法返回的产品的名称。
赞助商链接