APP下载

Entity Framework数据库访问

2016-01-19王志丹

科技与创新 2016年1期
关键词:代码数据库模型

王志丹

摘 要:Entity Framework技术因为具有使用灵活、开发周期短等优点,所以,被广泛应用于.NET平台的开发中。基于Entity Framework胡框架能设计出经典MVC架构中的数据库访问层,在此介绍了不同的数据库访问方式的特点。

关键词:数据库;模型;代码;Entity Framework技术

中图分类号:TP311.13 文献标识码:A DOI:10.15913/j.cnki.kjycx.2016.01.076

Entity Framework实体框架是一种对象关系映射机制(ORM),它以Entity Data Model(EDM)为主,利用抽象化的数据结构将数据库对象转换为应用程序对象,将库表字段转换为属性,关系转换为关联系统,把数据库的E/R 模型转换成对象模型,让开发人员利用概念应用程序模型编程,进而创建数据访问应用程序,以减少数据应用程序的开发量和系统维护的工作量。

1 访问方式

访问Entity Framework数据库的方式有3种,不同类型的数据访问方式如图1所示。

1.1 数据库优先(Database First)

数据库优先是比较传统的开发方法。采取这种方法时,要先创建数据库,一般直接应用SQL SERVER等数据库工具,然后利用Visual Studio等开发工具为其创建相对应的实体类。另外,要事先指定数据库对象与实体类的匹配关系和映射,手动修改这些自动生成的代码和匹配文件。当已经有一个数据库时,这种方法就很简单了,只需指定好原数据库与即将用到的实体对应的匹配关系。这样Entity Framework就可以自动生成数据模型,而且其中包含对应的类和属性。这些类和属性与现存的数据库中的表和字段相对应。所有关于数据库结构、数据模型和它们之间的映射关系都储存在XML文件中,由Visual Studio提供Entity Framework设计器,以图形的形式让使用者查阅和编辑XML文件。

1.2 模型优先(Model First)

这种方式是先利用某些工具(比如Visual Studio的Entity Framework设计器)设计出实体数据模型和它们之间的关系,然后再根据这些实体和关系生成数据库对象和相关代码文件。

当没有现存的数据库时,就可以使用该设计器;当已经有设计好的数据模型时,设计器会自动生成DDL(data definition language)来创建数据库。这种方法同样也使用XML文件储存数据模型、数据库结构和映射信息等。

1.3 代码优先(Code Fist)

该方式与模型优先比较相似。在开发ASP.NET MVC应用程序时,是先创建数据库,然后通过编写代码来实现对数据库的访问。虽然这种开发模式已得到了广泛应用,但它也存在性能差、效率低等缺点。随着ASP.NET Entity Framework的发布,推出了代码优先的新开发模式,它可以从代码入手实现数据库的应用和开发。采用这种方式时,需要先编写一些代码,比如实体对象、数据库关系等,然后根据已有的代码描述自动创建数据库对象。自己写代码实际就是用代码编写模型实体,不管有没有现成的数据库,都可以通过编写代码来定义数据的类和属性,与数据库中的表和字段相对应,而且也不需要利用XML文件建立Entity Framework。这种方法又被称为Code Only,体现了编写代码在该方法中的重要性。位于物理数据库与概念数据库之间关系的映射已经由编写的代码指定,并由对应的API完成,如果没有对应现存的数据库,Entity Framework能够自动创建一个数据库。当数据模型改变时,Entity Framework也能对应地修改数据库或者重建数据库。

2 结束语

本文简要介绍了Entity Framework不同类型的数据访问方式——DataBase First是最早也是最容易上手的一种开发模式;Model First是最能体现“面向对象思想”的编程模式;Code Fist适用于技术成熟的开发人员,它能让代码更整洁,易于维护。

参考文献

[1]赵增敏,吴洁,唐惠康.基于Code Fist模式的ASP.NET MVC 应用开发[J].制造业自动化,2012,34(3).

[2]袁立国,陈中育,李方鹏,等.一种软件开发框架的设计优化[J].计算机系统应用,2013,22(5).

[3]沈霞菲,王建中.基于.NET Entity Framework数据库访问机制的设计与应用[J].现代电子技术,2014(37).

[4]谢日星.ADO.NET Entity Framework 建模技术研究[J].科技传播,2010(11).

[5]陈永松.Entity Framework 数据访问性能优化的几种方法[J].电脑开发与应用,2014(7).

〔编辑:白洁〕

猜你喜欢

代码数据库模型
自制空间站模型
模型小览(二)
数据库
圆周运动与解题模型
神秘的代码
一周机构净增(减)仓股前20名
重要股东二级市场增、减持明细
数据库
离散型随机变量分布列的两法则和三模型
数据库