高手論ADO.NET實體數(shù)據(jù)模型
ADO.NET經(jīng)過長時間的發(fā)展,很多用戶都很了解ADO.NET了,這里我發(fā)表一下個人理解,和大家討論討論。ADO.NET實體數(shù)據(jù)模型向?qū)в糜谏蓪嶓w數(shù)據(jù)模型 (EDM)。使用實體數(shù)據(jù)模型向?qū)Э梢詮默F(xiàn)有數(shù)據(jù)庫創(chuàng)建模型(對于此版本的 ADO.NET 實體數(shù)據(jù)模型設(shè)計器,建議采用這種做法),或者也可以生成一個空模型。
#T#
實體數(shù)據(jù)模型向?qū)г谀鷮?ASP.NET 實體數(shù)據(jù)模型添加到項目中之后啟動,并在生成 EDM 之后啟動 ADO.NET 實體數(shù)據(jù)模型設(shè)計器(實體設(shè)計器)。有關(guān)如何向項目添加模型的詳細信息,請參見如何:新建實體數(shù)據(jù)模型中的“生成實體數(shù)據(jù)模型文件”一節(jié)。
ADO.NET實體數(shù)據(jù)模型向?qū)⒁龑瓿梢韵虏襟E:
1.選擇模型內(nèi)容
建議您從現(xiàn)有數(shù)據(jù)庫生成模型。在隨后的步驟中,實體數(shù)據(jù)模型向?qū)⒁龑x擇要包含在 EDM 中的數(shù)據(jù)源、數(shù)據(jù)庫以及數(shù)據(jù)庫對象。生成空模型要求在實體數(shù)據(jù)模型向?qū)шP(guān)閉之后手動選擇數(shù)據(jù)源、數(shù)據(jù)庫以及數(shù)據(jù)庫對象。
2.選擇您的數(shù)據(jù)連接
您可以從連接下拉列表中選擇一個現(xiàn)有連接,或者單擊“新建數(shù)據(jù)庫連接”打開“連接屬性”對話框,然后創(chuàng)建新的數(shù)據(jù)庫連接。Visual Studio 速成版無法連接到服務(wù)器。它們只能連接到數(shù)據(jù)庫的文件實例。
3.選擇數(shù)據(jù)庫對象
#T#如果在 EDM 中包含存儲過程,實體數(shù)據(jù)模型向?qū)⒃诖鎯δP椭袆?chuàng)建對應于這些存儲過程的項。您必須手動將函數(shù)導入項添加到概念性模型中。有關(guān)更多信息,請參見如何:導入存儲過程。實體數(shù)據(jù)模型向?qū)г陉P(guān)閉之后將會創(chuàng)建一個包含模型信息的 .edmx 文件。該 .edmx 文件由 ADO.NET 實體數(shù)據(jù)模型設(shè)計器使用,通過該設(shè)計器可以以圖形方式查看和編輯模型。
此外,ADO.NET實體數(shù)據(jù)模型向?qū)н€會創(chuàng)建一個源代碼文件,其中包含基于 .edmx 文件中的 CSDL 信息而生成的類。該源代碼文件是自動生成的,并在 .edmx 文件發(fā)生更改時隨之更新。較早版本的實體數(shù)據(jù)模型向?qū)б?.csdl、.ssdl 和 .msl 文件。這些文件中的信息現(xiàn)在封裝在 .edmx 文件中。.csdl、.ssdl 和 .msl 文件現(xiàn)在存儲在解決方案的 bin\Debug 目錄或 bin\Release 目錄中。但不應當編輯這些文件。對 EDM 進行的任何更改都應通過 ADO.NET 實體數(shù)據(jù)模型設(shè)計器或 XML 編輯器應用到 .edmx 文件中。