基于Entity Framework的防作弊称重系统的设计与实现

时间:2022-08-09 07:08:38

基于Entity Framework的防作弊称重系统的设计与实现

摘 要 ORM(对象关系映射)可以较好的解决面向集合的关系型数据库与面向对象的程序设计语言之间的不匹配问题。本文应用了微软的ORM框架――Entity Framework,进行了数据库对象到应用程序对象的映射,建立了防作弊称重系统中的数据模型,使得在应用程序中能够以一种透明的方式实现数据的持久化操作。ORM技术的应用一方面使开发人员的精力集中到系统业务逻辑的实现上,另一方面大大提高了系统的开发效率。

【关键词】ORM 对象关系映射 Entity Framework

1 前言

信息系统的实施一般离不开业务数据的持久化操作,一方面使用面向集合的关系数据库进行数据存储是最常见的方式,而另一方面在系统的编码实现时却使用的是面向对象的程序设计语言,这就使得两者之间存在不兼容的情况。而ORM(对象关系映射)的出现,使得这一问题得到较好的解决,使开发人员在应用程序中能够以一种透明的方式实现数据的持久化操作,在将开发人员的精力集中转移到系统业务逻辑实现上的同时,另一方面大大提高了系统的开发效率。

ORM是一种解决方案,并不针对某一种特定的编程语言。目前有较多的ORM框架,比较流行的有微软的Entity Framework、Hibernate等。

2 Entity Framework框架

Entity Framework框架是微软公司的一个优秀的ORM框架。该框架实现了ORM框架应该包含的几个部分,如应用程序对象与数据库对象之间映射关系的定义、对应用程序对象进行CRUD操作的应用程序接口、应用程序对象关联属性的延时加载等优化选项等。另外该框架还提供了一种可视化的工具,使得程序设计人员可以通过Visual Studio开发环境进行高效的开发。

3 系统设计与实现

3.1 基于entity framework的软件架构

作弊称重系统基于Entity Framework框架实现业务数据的存取操作,系统的软件架构图如图1所示。其中最底层为关系数据库SQL Server 2005,用于对业务数据进行存储;数据层基于Entity Framework框架实现,用于和关系数据库进行交互,实现数据的存取操作;业务层基于数据层传递的数据对象实现系统的各个业务操作,并为应用层提供操作接口;表现层通过用户界面实现用户与系统的互操作。各层通过Entity Framework框架生成的实体对象进行数据的传递。

图1:系统软件架构图

3.2 系统数据模型

基于Entity Framework框架进行数据访问时,可以采取数据库优先、模型优先以及代码优先三种方式。基于数据库优先的方式需要先设计好数据库,然后使用Entity Framework生成相应的数据模型;基于模型优先的方式则运行通过Visual Studio开发工具创建数据模型,然后根据模型自动生成数据库;基于代码优先的方式允许开发人员通过编写C#代码创建实体对象,然后根据代码自动生成数据库和数据模型。本系统采用了数据库优先的方式,生成了系统的对象模型图。

3.3 基于LINQ to Entities进行查询

创建好系统数据模型后,就能够通过面向对象的方式对数据模型进行操作。常见的三种查询方式如下:

(1)基于集成化的查询语言LINQ to Entities。LINQ to Entities是.NET Framework中LINQ的一个组成部分,可以对Entity Framework框架生成的实体进行查询。

(2)基于Entity SQL语言。该语言的语法与SQL语言的语法相似,值得注意的是,该语言的执行需要Entity Client的支持。

(3)基于查询生成器的相关方法。这些方法主要基于ObjectQuery类,该类包含一些查询的方法,如OrderBy、Top、Skip等,这些方法与lamda表达式结合使用,且提供面向对象的编程方式,可以高效的对实体对象的集合实现排序、筛选等常用操作。

在对本系统实体模型进行查询时,使用了LINQ to Entities的查询方式。以下将以称重货车信息的查询和修改操作为例,介绍系统对业务数据的操作方法。

初始化一个对象容器的实例,具体代码如下:

MyEntities me= new MyEntities();//声明一个实体对象容器的实例

IQueryable result= me.Truck.Where(r => r.TruckNo == “鄂D11111”);//调用了LINQ to Entities的方法Where,查询系统中车号为“鄂D11111”的货车对象。在Where方法中使用Lamda表达式用于设置匹配条件

if (result.Count() > 0) //找到了相应记录{

result.First().Driver= "张三丰";//修改该货车对应的司机姓名

me.SaveChanges();//保存修改}

4 总结

本文介绍了应用了Entity Framework框架实现对象关系映射的过程以及使用LINQ To Entities进行数据存取操作的方法. 基于该ORM框架能够较大程度上提高系统的开发效率,并且能够快速响应系统中数据需求的变化,提高系统可维护性。

参考文献

[1]蒋海彬,刘军万,熊立新.基于实体框架集的自主招生管理系统研究[J].微计算机信息,2012(10).

作者单位

长江大学工程技术学院 湖北省荆州市 434020

上一篇:无线通信基站信息管理系统的分析与设计 下一篇:UG软件在建模技术中的应用探讨