快捷搜索:

MOSS 2010:Visual Studio 2010开发体验(25)——编写自

上一篇我解说到了若何在Visual Studio 2010中编写自定义的BCS连接器来实现加倍机动的利用法度榜样集成。在那篇文章,我主要解说了有关的观点,并且做了一个最简单的模型,宣布之后能够应用它。

这一篇,我们继承来实现一个加倍有现实意义的 BCS 连接器。我们必要读取的数据仍旧是有关员工信息的。

我们盼望员工实体拥有如下的信息

ID

FirstName

LastName

Age

【提示】经由过程跟随本文做演习,你将学会若何设计一个自己的营业实体模型。

【留意】不要鄙视这个步骤,我之前就提到过,自定义BCS模型这个小对象着实还有值得改进的地方。今朝的环境是一不小心就会掉足。以是,最好按照我的步骤来做演习。这个步骤是我总结出来的最佳实践,你可以先做完演习,然后对某些步骤的细节做一些进一步的进修

1. 创建一个空缺SharePoint项目

2. 添加一个BDC模型

3. 改动营业实体(Entity)

所谓实体便是在BDC办事中互换的数据款式。例如我们要处置惩罚员工数据,这便是一个实体。项目模板默认天生的实体类型如下(Entity1.cs)

将代码改动为下面这样

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace BDC.Northwind.EmployeeModel

{

///

/// This class contains the properties for Entity1. The properties keep the data for Entity1.

/// If you want to rename the class, don't forget to rename the entity in the model xml as well.

///

public partial class Employee

{

//TODO: Implement additional properties here. The property Message is just a sample how a property could look like.

public int EmployeeID { get; set; }

public string FirstName { get; set; }

public string LastName { get; set; }

public int Age { get; set; }

}

}

4. 改动办事类型(Service)

实体只是数据,但谁来吸收哀求并且处置惩罚,然后返回数据呢?这便是办事的观点. 默认天生的那个 Entity1Service.cs便是办事所在的文件。它现在看起来是下面这样的

将代码改动如下

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace BDC.Northwind.EmployeeModel

{

///

/// All the methods for retrieving, updating and deleting data are implemented in this class file.

/// The samples below show the finder and specific finder method for Entity1.

///

public class EmployeeService

{

static List GetEmployees()

{

return new List(){

new Employee(){

EmployeeID=1,

FirstName="ares",

LastName="chen",

Age=20

},

new Employee(){

EmployeeID=2,

FirstName="bill",

LastName="gates",

Age=20

},

new Employee(){

EmployeeID=3,

FirstName="steve",

LastName="ballmer",

Age=20

}

};

}

///

/// This is a sample specific finder method for Entity1.

/// If you want to delete or rename the method think about changing the xml in the BDC model file as well.

///

///

/// Entity1

public static Employee ReadItem(int id)

{

return GetEmployees().FirstOrDefault(e => e.EmployeeID == id);

}

///

/// This is a sample finder method for Entity1.

/// If you want to delete or rename the method think about changing the xml in the BDC model file as well.

///

/// IEnumerable of Entities

public static IEnumerable ReadList()

{

return GetEmployees();

}

}

}

上述代码中,我们先用一个静态的函数模拟了一个读取所有员工的操作,它是返回了三个员工的数据。很显着,这三位都是台甫鼎鼎的大年夜人物

然后,我们让ReadItem和ReadList措施有了加倍好的实现。

5. 改动模型定义(EmployeeModel.bdcm)

首先将Entity1重命名为Employee

【留意】假如你留意察看的话,本来的那个Entity1Service.cs文件也被重命名为了EmployeeService.cs

接下来,我们必要将它的Identifier1改动为EmployeeID

接下来,我们必要切换到BDC Explorer来完成进一步的改动。假如你没有看到BDC Explorer,那么可以经由过程View==>Other Window==>BDC Explorer打开它

为了方便改动,请将IDE调剂为下面这样

我们要将它改动成下面这样。(这里的步骤很繁琐,我就不整个截图了。基础上都是在属性窗口中做设置,要分外留意的是TypeName的设置)

【留意】本来的Message直接改动Name为FirstName

而LastName和Age是我们经由过程下面的要领添加的

6. 编译项目并且支配(确保没有任何差错)

7. 验证和应用该模型

点击“Create Lists & Form”按钮

着末,我们就可以在网站中看到下面这个列表了

总结:这一篇文章我解说了若何实现自定义BDC模型。着实这个事情并不难,但却是对照繁琐的,而且轻易掉足。

我不确信每小我都能经由过程看一遍就学会若何做,以是假如你其实碰到了问题,也可以经由过程下面地址下载典型代码

http://files.cnblogs.com/chenxizhang/BDC_Northwind.rar

转自:http://www.cnblogs.com/chenxizhang/archive/2010/05/02/1725964.html

您可能还会对下面的文章感兴趣: