这里为大家演示一个关于ADO.NET Entity Framework存取数据库中图片的案例,两个步骤简介快捷实现。希望通过本文大家会有技术上的提高。

#T#ADO.NET通过长期的开展,许多用户都很了解ADO.NET Entity Framework了,在这儿呢首要介绍一下运用ADO.NET Entity Framework存取数据库中图片的过程。网站中的图片能够保存到文件体系中,即专门的目录用于图片的寄存,这样的存储配上数据库中保存的图片途径信息,信任许多网站是这么挑选的。这样的调配因为存储和办理信息是分隔的,其长处便是对数据库的功能不会发生太大影响,可是也正是因为这种分隔网站的目录结构容易是不能够变的,别的图片数据的备份需求数据库和文件目录同步进行。别的一种存储和办理图片的办法是将图片存到数据库中,假如站点的图片数量不是太多,图片不是太大,这种办法是适当合适的。本文咱们看一下怎么运用ADO.NET Entity Framework构建数据拜访层,实现将图片存到数据库中以及从数据库中获取图片。

趣谈ADO.NET Entity Framework事例剖析  ADO.NET Frame 第1张

前期作业:创立数据表+构建数据拜访层

***步,创立数据表

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

  1. CREATETABLE[dbo].[images](
  2. [id][int]IDENTITY(1,1)NOTNULL,
  3. [imagefile][image]NOTNULL)

第二步,构建数据拜访层

该类型的数据的刺进与一般的根本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,

  1. imageimg=newimage();

继而创立一个XXXEntities目标

  1. XXXEntitiesXXX=newXXXEntities();

(留意using命名空间和增加对System.Data.Entity的引证)

asp.net web页面中增加FileUpload控件,该控件供给一个特点PostedFile能够为服务器供给一个输入输出流,刚好能够供咱们将挑选的图片读到服务器的内存里,代码如下:

  1. System.IO.Streamstream=FileUpload1.PostedFile.InputStream;
  2. byte[]buffer=newbyte[stream.Length];
  3. stream.Read(buffer,0,(int)stream.Length);
  4. stream.Close();
  5. img.imagefile=buffer;

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

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

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

转载请说明出处
知优网 » 趣谈ADO.NET Entity Framework事例剖析

发表评论

您需要后才能发表评论