您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么使用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構建數據訪問層”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。