獲取ADO.NET Entity Data Model數(shù)據(jù)介紹
下面的內(nèi)容包含什么時候使用ADO.NET Entity Data Model,以及怎樣優(yōu)化訪問它們所包含的數(shù)據(jù),也包括怎樣優(yōu)化DataAdapter和DataView的使用(也包括CommandBuilder)。 下面就進行學(xué)習(xí)切磋。
網(wǎng)站中的圖片可以保存到文件系統(tǒng)中,即專門的目錄用于圖片的存放,這樣的存儲配上數(shù)據(jù)庫中保存的圖片路徑信息,相信很多網(wǎng)站是這么選擇的。這樣的搭配由于存儲和管理信息是分開的,其優(yōu)點就是對數(shù)據(jù)庫的性能不會產(chǎn)生太大影響。#t#
但是也正是由于這種分開網(wǎng)站的目錄結(jié)構(gòu)輕易是不可以變的,另外圖片數(shù)據(jù)的備份需要數(shù)據(jù)庫和文件目錄同步進行。另外一種存儲和管理圖片的方式是將圖片存到數(shù)據(jù)庫中,如果站點的圖片數(shù)量不是太多,圖片不是太大,這種方式是相當(dāng)適合的。本文我們看一下如何使用ADO.NET Entity Data Model構(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類型的文件,默認(rèn)的界面中會打開自動生成的實體類圖,我們在向?qū)е羞x擇的所有表格都會對應(yīng)一個實體類默認(rèn)的名稱是與數(shù)據(jù)表相同。
此處的images對應(yīng)的實體類也是images,但是這樣默認(rèn)使用的話會造成歧義,我們需要手動修改一下,點擊images類在屬性對話框中將Name屬性改為image,Entity Set Name可以改為imageSet或者不改動保持images表示的是image集合,之后實體類圖中對應(yīng)的類名也變成image了。這里假設(shè)存放圖片的數(shù)據(jù)庫名為ADO.NET Entity Data Model,那么生成的管理類也就是我們后面使用最多的類名為XXXEntities。

















