欢迎来到天天文库
浏览记录
ID:22811520
大小:65.62 KB
页数:5页
时间:2018-10-31
《ug软件在建模技术中的应用探讨》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、UG软件在建模技术中的应用探讨摘要ORM(对象关系映射)可以较好的解决面向集合的关系型数据库与面向对象的程序设计语言之间的不匹配问题。本文应用了微软的ORM框架EntityFramework,进行了数据库对象到应用程序对象的映射,建立了防作弊称重系统中的数据模型,使得在应用程序中能够以一种透明的方式实现数据的持久化操作。ORM技术的应用一方面使开发人员的精力集中到系统业务逻辑的实现上,另一方面大大提高了系统的开发效率。【关键词】ORM对象关系映射EntityFramework1前言信息系统的实施一般离不开业务数据的持久化操作,一方面使用面向集合的关系数据库进行数据存储是最常见的
2、方式,而另一方面在系统的编码实现时却使用的是面向对象的程序设计语言,这就使得两者之间存在不兼容的情况。而ORM(对象关系映射)的出现,使得这一问题得到较好的解决,使开发人员在应用程序中能够以一种透明的方式实现数据的持久化操作,在将开发人员的精力集中转移到系统业务逻辑实现上的同时,另一方面大大提高了系统的开发效率。0觀是一种解决方案,并不针对某一种特定的编程语言。目前有较多的ORM框架,比较流行的有微软的EntityFramework、Hibernate等。2EntityFramework框架EntityFramework框架是微软公司的一个优秀的ORM框架。该框架实现了ORM框
3、架应该包含的几个部分,如应用程序对象与数据库对象之间映射关系的定义、对应用程序对象进行CRUD操作的应用程序接口、应用程序对象关联属性的延时加载等优化选项等。另外该框架还提供了一种可视化的工具,使得程序设计人员可以通过VisualStudio开发环境进行高效的开发。3系统设计与实现3.1基于EntityFramework的软件架构防作弊称重系统基于EntityFramework框架实现业务数据的存取操作,系统的软件架构图如图1所示。其中最底层为关系数据库SQLServer2005,用于对业务数据进行存储;数据层基于EntityFramework框架实现,用于和关系数据库进行交互
4、,实现数据的存取操作;业务层基于数据层传递的数据对象实现系统的各个业务操作,并为应用层提供操作接口;表现层通过用户界面实现用户与系统的互操作。各层通过EntityFramework框架生成的实体对象进行数据的传递。1:系统软件架构3.2系统数据模型基于EntityFramework框架进行数据访问时,可以采取数据库优先、模型优先以及代码优先三种方式。基于数据库优先的方式需要先设计好数据库,然后使用EntityFramework生成相应的数据模型;基于模型优先的方式则运行通过VisualStudio开发工具创建数据模型,然后根据模型自动生成数据库;基于代码优先的方式允许开发人员通
5、过编写C#代码创建实体对象,然后根据代码自动生成数据库和数据模型。本系统采用了数据库优先的方式,生成了系统的对象模型3.3基于LINQtoEntities进行查询创建好系统数据模型后,就能够通过面向对象的方式对数据模型进行操作。常见的三种查询方式如下:(1)基于集成化的查询语言LINQtoEntities。LINQtoEntities是.NETFramework中LINQ的一个组成部分,可以对EntityFramework框架生成的实体进行查询。(2)基于EntitySQL语言。该语言的语法与SQL语言的语法相似,值得注意的是,该语言的执行需要EntityClient的支持。(
6、3)基于查询生成器的相关方法。这些方法主要基于ObjectQuery类,该类包含一些查询的方法,如OrderBy、Top、Skip等,这些方法与lamda表达式结合使用,且提供面向对象的编程方式,可以高效的对实体对象的集合实现排序、筛选等常用操作。在对本系统实体模型进行查询时,使用了LINQtoEntities的查询方式。以下将以称重货车信息的查询和修改操作为例,介绍系统对业务数据的操作方法。初始化一个对象容器的实例,具体代码如下:MyEntitiesme=newMyEntities();//声明一个实体对象容器的实例IQueryableresult=me.Truck.Wher
7、e(r=>r.TruckNo==“鄂Dlllll”);//调用了LINQtoEntities的方法Where,查询系统中车号为“鄂D11111”的货车对象。在Where方法中使用Lamda表迗式用于设置匹配条件if(result.Count()〉0)//找到了相应记录{result.First().Driver=“张三丰’’;//修改该货车对应的司机姓名me.SaveChanges();//保存修改}4总结本文介绍了应用了EntityFramework框架实现对象关系映射的过程以及使用LIN
此文档下载收益归作者所有