优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

ORM框架设计的探讨和实现

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:

摘   要
目前,ORM技术已成为软件工程领域的一个研究热点,ORM的应用能极大的降低业务层和数据层的耦合度,提高系统的可扩展性、可维护性和项目的开发效率,最主要的是它使面向对象的思想贯穿于软件项目的设计和开发过程,实现对象模型向关系模型的转化及数据持久化操作的透明性。
本设计通过研究关系模型和对象模型的概念、组成及各自的优缺点,分析出两种模型间存在的阻抗不匹配问题及问题产生的原因;探讨基于.NET的ORM框架设计应有的组成部分及其实现方法。初步实现一个基于.NET的ORM框架——TCORM,在该框架中实现代码生成器、持久化API和对象关系映射原则三个部分;在“湖南大学离退休信息管理系统”开发中引入TCORM框架后,使系统以面向对象的方法进行设计和开发,其数据持久化操作完全透明化,验证出TCORM框架的可行性和实用性。
本文详细叙述设计者对关系模型和对象模型的研究成果和对基于.NET的ORM框架设计的研究成果;概述TCORM的详细设计和具体实现,并展示TCORM框架在“湖南大学离退休信息管理系统”项目开发中的运用。 [资料来源:http://think58.com]

关键字:对象关系映射,持久化,ORM,对象模型
 TCORM框架的具体实现
4.3.1开发环境介绍
系统采用Microsoft Visual Studio 2003作为开发平台,.NET Framework 1.1为基础架构,C#作为开发语言。其中代码生成器是基于.Net的Windows运用程序开发,而API设计是基于.Net的类库项目开发。
4.3.2 TCORM框架的具体实现
1.对象关系映射原则:
该部分内容已在设计部分详细说明。
TCORM框架在项目中的实际运用
5.1运用描述
在“湖南大学离退休信息管理系统”的开发中引入TCORM框架,基于TCORM框架架构系统,利用TCORM提供的API以面向对象的方式实现其中三个模块(录入、查询、系统管理)中的一个具有操作代表性页面的功能。
5.2相关配置
5.2.1架构系统结构
  以三层结构来实现“离退休信息管理系统”的架构,其中含有BLL层、Model层、Web层,BLL层主要实现业务操作,Model层是含有系统中所有的实体类,Web层主要负责数据的输入输出。
5.2.2 配置映射文件路径
     <appSettings>
      <add key="DBFile" value="D:\金华静\毕业设计\Code\测试\TESTTCORM\Model\MAPFILE\DataSource.xml"/>
      <add key="MAPFile" value="D:\金华静\毕业设计\Code\测试\TESTTCORM\Model\MAPFILE"/> [资料来源:http://www.THINK58.com]
   </appSettings>
5.2.3 编写实体类和映射文件
  可手动编写,也可利用TCCreator生成简单的实体类和映射文件。需注意的是,在编写实体类时,程序员需实现基类EntityObject的GetValueByName(string name)函数。
例如系统用户管理的实体类和映射文件信息:
  实体类文件:
namespace Model.Entity
{
using System;
using System.Collections;
using System.Data;
using TCORM;  
/// <summary>该类的摘要说明</summary>
[Serializable()]
public class UserInfoEntity : EntityObject
{     
public const string __USER_NAME = "user_name";
…      
private string m_user_name;       
…    
public UserInfoEntity()
{this.className = "UserInfoEntity"; }  
public string user_name
{get{return this.m_user_name; }
set{this.m_user_name = value; }
}

public override object GetValueByName(string name)
{
switch(name) think58.com

[资料来源:http://www.THINK58.com]


{
case "user_name":return this.m_user_name;
case "user_password":return this.m_user_password;
case"user_role":return this.m_user_role;
}
return null;
}
}
}
    映射文件:
<?xml version="1.0" encoding="utf-8" ?> <map>
<class name="UserInfoEntity" table="UserInfo" database="databaseMapName">
<attribute>
<attributeMap  name="user_name" columnName="user_name" attributeType="string" columnType="varchar" size="50" isNULL="false" />
<attributeMap  name="user_password" columnName="user_password" attributeType="string" columnType="varchar" size="50" isNULL="false" />
<attributeMap  name="user_role" columnName="user_role" attributeType="string" columnType="char" size="1" isNULL="false" />
</attribute>
<primaryKey>
<primaryKeyMap  name="user_name" columnName="user_name" attributeType="string" columnType="varchar" size="50" isNULL="false" /></primaryKey>
</class>
</map> copyright think58

[版权所有:http://think58.com]


think58.com
[资料来源:www.THINK58.com]