怎么使用ADO.NET Entity Framework构建数据访问层

发布时间:2021-12-03 15:29:43 作者:iii
来源:亿速云 阅读:104

这篇文章主要介绍“怎么使用ADO.NET Entity Framework构建数据访问层”,在日常操作中,相信很多人在怎么使用ADO.NET Entity Framework构建数据访问层问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用ADO.NET Entity Framework构建数据访问层”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

ADO.NET经过长时间的发展,很多用户都很了解ADO.NET Entity Framework了,在这里呢主要介绍一下利用ADO.NET Entity Framework存取数据库中图片的步骤。网站中的图片可以保存到文件系统中,即专门的目录用于图片的存放,这样的存储配上数据库中保存的图片路径信息,相信很多网站是这么选择的。这样的搭配由于存储和管理信息是分开的,其优点就是对数据库的性能不会产生太大影响,但是也正是由于这种分开网站的目录结构轻易是不可以变的,另外图片数据的备份需要数据库和文件目录同步进行。另外一种存储和管理图片的方式是将图片存到数据库中,如果站点的图片数量不是太多,图片不是太大,这种方式是相当适合的。本文我们看一下如何使用ADO.NET Entity Framework构建数据访问层,实现将图片存到数据库中以及从数据库中获取图片。

前期工作:创建数据表+构建数据访问层

第一步,创建数据表

表中需要一个用于保存图片的字段,类型设置为image,代码如下:

CREATE TABLE [dbo].[images](  [id] [int] IDENTITY(1,1) NOT NULL,  [imagefile] [image] NOT NULL)

第二步,构建数据访问层

该类型的数据的插入与一般的基本SQL类型不同,不过在.net 3.5平台上工作的程序员不需要考虑太多访问数据库的具体代码,我们可以选择ADO.NET Entity Framework和Linq to SQL,这里我们以前者为例。方法简单介绍如下:

项目中新建,选择ADO.NET Entity Data Model,根据向导建立到数据库的连接,根据向导选择数据库中的刚才建立的表images,向导结束之后项目中会添加一个edmx类型的文件,默认的界面中会打开自动生成的实体类图,我们在向导中选择的所有表格都会对应一个实体类默认的名称是与数据表相同,此处的images对应的实体类也是 images,但是这样默认使用的话会造成歧义,我们需要手动修改一下,点击images类在属性对话框中将Name属性改为image,Entity Set Name可以改为imageSet或者不改动保持images表示的是image集合,之后实体类图中对应的类名也变成image了。这里假设存放图片的数据库名为XXX,那么生成的管理类也就是我们后面使用最多的类名为XXXEntities。

将图片保存到SQL server数据库中

首先声明一个image类型的变量不妨称之为img,

image img = new image();

继而创建一个XXXEntities对象

XXXEntities XXX = new XXXEntities();

(注意using命名空间和添加对System.Data.Entity的引用)

asp.net web页面中添加FileUpload控件,该控件提供一个属性PostedFile能够为服务器提供一个输入输出流,刚好可以供我们将选择的图片读到服务器的内存里,代码如下:

System.IO.Stream stream = FileUpload1.PostedFile.InputStream;  byte[] buffer = new byte[stream.Length];  stream.Read(buffer, 0, (int)stream.Length);  stream.Close();  img.imagefile = buffer;

接下来就是将代表图片的字节数组存到数据库中,代码如下:

XXX.AddToimageSet(t);  XXX.SaveChanges();

这样将图片存入数据库的操作就完成了。

到此,关于“怎么使用ADO.NET Entity Framework构建数据访问层”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. ADO.NET Entity FrameWork
  2. Overview of the Architecture of ADO.NET

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ado.net entity framework

上一篇:ADO.NET连接池有哪些优缺点

下一篇:ADO.NET _CommandPtr接口有什么作用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》