怎么使用ADO.NETEntityFramework構(gòu)建數(shù)據(jù)訪問層

這篇文章主要介紹“怎么使用ADO.NET Entity Framework構(gòu)建數(shù)據(jù)訪問層”,在日常操作中,相信很多人在怎么使用ADO.NET Entity Framework構(gòu)建數(shù)據(jù)訪問層問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么使用ADO.NET Entity Framework構(gòu)建數(shù)據(jù)訪問層”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的龍圩網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

ADO.NET經(jīng)過長時間的發(fā)展,很多用戶都很了解ADO.NET Entity Framework了,在這里呢主要介紹一下利用ADO.NET Entity Framework存取數(shù)據(jù)庫中圖片的步驟。網(wǎng)站中的圖片可以保存到文件系統(tǒng)中,即專門的目錄用于圖片的存放,這樣的存儲配上數(shù)據(jù)庫中保存的圖片路徑信息,相信很多網(wǎng)站是這么選擇的。這樣的搭配由于存儲和管理信息是分開的,其優(yōu)點就是對數(shù)據(jù)庫的性能不會產(chǎn)生太大影響,但是也正是由于這種分開網(wǎng)站的目錄結(jié)構(gòu)輕易是不可以變的,另外圖片數(shù)據(jù)的備份需要數(shù)據(jù)庫和文件目錄同步進行。另外一種存儲和管理圖片的方式是將圖片存到數(shù)據(jù)庫中,如果站點的圖片數(shù)量不是太多,圖片不是太大,這種方式是相當適合的。本文我們看一下如何使用ADO.NET Entity Framework構(gòu)建數(shù)據(jù)訪問層,實現(xiàn)將圖片存到數(shù)據(jù)庫中以及從數(shù)據(jù)庫中獲取圖片。

前期工作:創(chuàng)建數(shù)據(jù)表+構(gòu)建數(shù)據(jù)訪問層

第一步,創(chuàng)建數(shù)據(jù)表

表中需要一個用于保存圖片的字段,類型設(shè)置為image,代碼如下:

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

第二步,構(gòu)建數(shù)據(jù)訪問層

該類型的數(shù)據(jù)的插入與一般的基本SQL類型不同,不過在.net 3.5平臺上工作的程序員不需要考慮太多訪問數(shù)據(jù)庫的具體代碼,我們可以選擇ADO.NET Entity Framework和Linq to SQL,這里我們以前者為例。方法簡單介紹如下:

項目中新建,選擇ADO.NET Entity Data Model,根據(jù)向?qū)Ы⒌綌?shù)據(jù)庫的連接,根據(jù)向?qū)нx擇數(shù)據(jù)庫中的剛才建立的表images,向?qū)ЫY(jié)束之后項目中會添加一個edmx類型的文件,默認的界面中會打開自動生成的實體類圖,我們在向?qū)е羞x擇的所有表格都會對應(yīng)一個實體類默認的名稱是與數(shù)據(jù)表相同,此處的images對應(yīng)的實體類也是 images,但是這樣默認使用的話會造成歧義,我們需要手動修改一下,點擊images類在屬性對話框中將Name屬性改為image,Entity Set Name可以改為imageSet或者不改動保持images表示的是image集合,之后實體類圖中對應(yīng)的類名也變成image了。這里假設(shè)存放圖片的數(shù)據(jù)庫名為XXX,那么生成的管理類也就是我們后面使用最多的類名為XXXEntities。

將圖片保存到SQL server數(shù)據(jù)庫中

首先聲明一個image類型的變量不妨稱之為img,

image img = new image();

繼而創(chuàng)建一個XXXEntities對象

XXXEntities XXX = new XXXEntities();

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

asp.net web頁面中添加FileUpload控件,該控件提供一個屬性PostedFile能夠為服務(wù)器提供一個輸入輸出流,剛好可以供我們將選擇的圖片讀到服務(wù)器的內(nèi)存里,代碼如下:

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;

接下來就是將代表圖片的字節(jié)數(shù)組存到數(shù)據(jù)庫中,代碼如下:

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

這樣將圖片存入數(shù)據(jù)庫的操作就完成了。

到此,關(guān)于“怎么使用ADO.NET Entity Framework構(gòu)建數(shù)據(jù)訪問層”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

分享標題:怎么使用ADO.NETEntityFramework構(gòu)建數(shù)據(jù)訪問層
網(wǎng)站路徑:http://muchs.cn/article38/jpgesp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、搜索引擎優(yōu)化、域名注冊、網(wǎng)站營銷網(wǎng)站內(nèi)鏈、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司