日期:2014-05-17  浏览次数:20976 次

C#入门学习-----任务管理系统的设计与实现(Windows Forms和LING To Entity实现)

欢迎大家提出意见,一起讨论!

转载请标明是引用于 http://blog.csdn.net/chenyujing1234

源码: http://www.rayfile.com/zh-cn/files/2c3f0ff5-be79-11e1-8f2f-0015c55db73d/ (采用VS2008或VS2010打开)

 

编译平台:VS2010 + .Net Framework 3.5

        语言: C#

 

3、 系统数据库设计

3、1  数据库设计

系统使用微软SQL Server或SQL Express进行后台数据存储,并且使用Entity Framework来创建实体模型。整个系统由以下4个数据表组成。

(1) Category报表: 保存任务分类信息

(2) Resource表:  保存任务资源信息

(3) Task表: 保存任务详细信息

(4) TaskResource表:保存与任务相关联的资源列表。

在VS中直接创建数据库,步骤如下:

(1) 选择“添加”|“新建项”,选择“基于服务的数据库”。如下图:

点击添加,此时数据库被加到Database文件夹中。VS会弹出数据源配置向导,允许用户先行设计数据库模型,再根据模型产生数据库表。

在这里单击“取消”按钮,示例将使用根据数据库表来生成数据实体模型,因此先使用表设计工具创建表。

(2) 在解决方案资源管理器上双击TaskManager.mdf 文件,VS将弹出服务器资源管理器,并展开数据连接,右击表节点

在弹出的菜单中选择“添加新表”选项,VS将弹出表设计窗口。如下:

 

 

在列名字段中,输入表字段名称,在数据类型下选择类型。

(3) 在创建了表后,可以利用数据库关系图创建表之间的主外键关系。

在服务器资源管理器中,展开数据连接,找到数据库关系系图节点,右击鼠标,选择“添加新关系图”选项。

在图形化的表视图上,右击要设置主键的字段,从弹出的菜单中选择“设置主键”选项,可以拖动表到要建立关系的目标表。如下:

 

服务器资源管理器还提供了视图、存储过程等节点,允许用户直接在VS中创建存储过程,不需要在开发机上安装SQLServer 版,增加开发效率。

 

3、2  使用Entity Framework生成实体类

Microsoft Entity Framework是微软基于ADO.NET技术所发展出来的对象关系映射(O/R Mapping)解决方案,早期称为ObjectSpace.

在过去,程序员总是与数据库不可分割,不可避免要使用数据库相关的SQL语句。ORM对象关系映射技术因此而生,NHibernate是.NET平台下

用于实现ORM的热门工具,微软公司不甘落后,推出了ADO.NET Entity Framework框架。

Entity Framework利用了抽象化数据结构的方式,将每个数据库对象都转成应用程序对象(entity),而数据字段都转换为属性(property),

关系则转换为结合属性(association),让数据库的E/R模型完全转成对象模型,因此能让程序员用最熟悉的编程语言来调用访问。

在抽象化的结构之下,则是高度集成与对应结构的概念层、对应层和储存层,以及支持Entity Framework的数据提供者(provider),让数据访问的工作得以顺利与

完整进行。

(1) 为了将TaskManager数据库中的表转换为实例对象模型,在解决方案资源管理器中右击Database文件夹,在弹出的菜单中选择“添加”|“新建项”命令,

选择ADO.NET实体数据模型,点添加后进入到实体数据模型向导窗口。

(2) 在该窗口中选择从数据库生成模型,单击下一步按钮,将进入数据连接选择窗口。选择当前创建的数据库连接。

(3) 在指定了连接后,进入选择数据库对象窗口。如下:

这样之后我们就得到了数据库对应的实例代码文件XXXX.cs,它的开头有下面的说明


 

 

(4) 在选择完成后,VS进入edmx实体数据模型设计窗口。在该窗口中,为每一个表创建一个对象,将每个字段添加为属性,并在数据库间

        指定的表间关系创建对象关系。如下:

(5) 如果在开发中数据库结构发生变更,可以将模型与数据库间保持同步。

      在设计器上右击,选择“从数据库更新模型”选项,VS将弹出选择实体模型窗口,选择要更新的实体模型后单