成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面學習ADO.NET自定義對象

開發 后端
這里就ADO.NET自定義對象擴展分部數據類、自定義業務邏輯、自定義數據類三方面做出了詳細的介紹,希望對大家有幫助。

最近收集了很多關于實體框架的知識,這里我無私的奉獻給大家,希望對大家有幫助。ADO.NET實體框架提供了相應的工具,以便根據 實體數據模型 (EDM) 的概念性架構定義語言 (CSDL) 文件自動生成對象層。可以對這些數據類進行不同程度的自定義,具體取決于應用程序的要求。您也可以修改自己的自定義數據類,以將其用于 EDM。當您從現有應用程序升級數據類以使用 實體框架 時,或者當您希望對創建數據類的方式進行更多控制時,這很有用。

擴展分部數據類

EDM 中定義的類型不像面向對象編程中使用的類那樣具有關聯的方法。相反,它們只包含 EDM 中定義的屬性。您可以通過擴展已生成的分部數據類向對象中添加功能。在通過 實體數據模型工具生成數據類時,將以分部類的形式實現這些數據類。分部類將類的定義拆分到兩個或更多個源文件中。每個源文件包含類定義的一部分,當編譯應用程序時,將組合所有部分。有關更多信息,請參見分部 (Visual Basic) 或分部(類型)(C# 參考)。

擁有分部類后,您能夠用單獨源文件中的自定義方法和屬性擴展這些類,而無需擔心在已生成的文件刷新時丟失您的自定義。有關更多信息,請參見如何:自定義生成的數據對象(實體框架)。

自定義業務邏輯

在使用生成的數據類時,可以在某些對象服務操作(例如,更改屬性或關系)過程中調用自定義業務邏輯。此業務邏輯可能包括在更改屬性或調用 SaveChanges 時創建附加驗證或登錄。通過處理由對象服務引發的事件,或者通過定義在更改屬性時調用的自定義分部方法,可以調用自定義業務邏輯。

自定義數據類

有某些情況下,只通過添加方法和屬性來擴展分部類可能無法提供足夠的靈活性。假定現有一個 .NET Framework 應用程序使用 ADO.NET 將數據庫中的數據加載到 CLR 對象中,以供該應用程序使用。這些對象可能包含必須保留在對象層中的有價值的自定義和業務邏輯。這些自定義可能會妨礙您將應用程序遷移為使用實體框架。您可能還希望對實體類型進行更多的控制,而不僅僅是擴展生成的分部類。

#T#將自定義數據類與 EDM 一起使用的建議方式是從 EntityObject 繼承。Entity Framework 提供了一組接口,如果不能從 EntityObject 繼承,或需要比框架更多的獨立性時,可以實現這些接口以將自定義數據類用于 EDM。有關更多信息,請參見實現自定義數據類接口(實體框架)。在使用自定義數據類時,必須向自定義數據類和屬性應用屬性,并且在更改屬性時通知對象上下文。

生成的數據類從 EntityObject 或 ComplexObject 繼承。如果您必須將自定義數據類與 EDM 一起使用,建議的方式是修改您的數據類,以便從這兩個基類繼承。通過這種方式,自定義數據類將受益于 EntityObject 所提供的更改跟蹤和關系管理功能。

在從 EntityObject 和 ComplexObject 繼承時,請記住以下要點:
◆類和屬性名稱必須與 EDM 的概念性架構定義語言 (CSDL) 文件中定義的實體類型和屬性名稱相匹配。如果這些名稱不匹配,您必須更改數據類和屬性的名稱,或者更新 CSDL 和關聯的映射規范文件MSL 中的名稱。有關更多信息,請參見如何:自定義實體數據模型以使用ADO.NET自定義對象(實體框架)。
◆CSDL 中定義的實體類型的每個屬性,都必須在自定義數據類中有一個關聯的屬性。自定義數據類可以具有其他未映射到 CSDL 中定義的屬性的屬性。
◆您必須向自定義數據類和屬性應用屬性。這些屬性在對象和 CSDL 之間提供顯式映射。有關更多信息,請參見對象-實體映射屬性(實體框架) 和如何:將ADO.NET自定義對象映射到實體(實體框架)。
◆若要使對象服務能夠跟蹤對ADO.NET自定義對象進行的更改,必須使用 EntityObject 更改報告方法按照特定模式報告這些更改。有關更多信息,請參見報告自定義數據類中的更改(實體框架)。
◆Entity Framework 工具還生成其他能夠簡化對象編程的類。對自定義數據類使用此代碼很有用。有關更多信息,請參見如何:將對象服務用于自定義對象(實體框架)。
◆在從 EntityObject 繼承時,必須通過從 ComplexObject 繼承來實現復雜類型。有關更多信息,請參見復雜類型對象(實體框架)。

責任編輯:田樹 來源: 博客
相關推薦

2009-11-11 09:48:08

ADO.NET Com

2009-12-28 13:47:31

ADO.NET對象

2009-11-12 14:37:26

ADO.NET結構

2009-11-03 15:06:32

ADO.NET鏈接對象

2009-10-29 13:34:01

ADO.NET對象

2009-11-04 12:45:33

ADO.NET Dat

2010-01-04 10:14:04

ADO.NET對象模型

2009-10-29 11:08:20

ADO.NET Dat

2009-10-29 10:10:10

ADO.NET數據集類

2009-11-12 16:04:42

ADO.NET對象查詢

2009-12-18 14:27:24

ADO.NET對象

2009-11-04 11:30:35

ADO.NET Dat

2009-11-03 15:24:14

ADO.NET對象模型

2009-11-04 10:23:05

ADO.NET Con

2009-11-13 14:38:45

ADO.NET Dat

2009-12-21 17:35:24

ADO.NET對象

2009-06-18 09:56:44

ADO.NET對象模型

2009-12-21 17:02:19

ADO.NET Sql

2009-12-22 16:42:57

ADO.NET研究

2009-12-22 17:43:26

ADO.Net技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久 | 日本a∨精品中文字幕在线 亚洲91视频 | 久久久久久久一区二区三区 | 伊人艹| 欧美日韩成人在线 | 日韩喷潮| 国产高清视频一区 | 久久精品久久久 | 国产精品精品久久久久久 | 久久精品国内 | 91久久久久久久久久久 | 日韩在线中文 | 欧美一区二区三区视频 | 亚洲444eee在线观看 | 日韩欧美一级片 | 荷兰欧美一级毛片 | 99成人在线视频 | 亚洲精品免费在线 | 欧美精品一区二区三区四区 在线 | 欧美一级黄 | 亚洲精品一区二区 | aaa国产大片 | 国产一区二区视频在线观看 | 日日夜夜免费精品 | 中文字幕一区二区三区在线视频 | 欧美一级电影免费 | 日韩视频在线观看一区二区 | 蜜桃视频一区二区三区 | 久久天天| 99pao成人国产永久免费视频 | 久久久国产一区 | 久久午夜国产精品www忘忧草 | 精品久久久久久亚洲国产800 | 久草在线视频中文 | 伊人艹 | 99热这里都是精品 | 国产一级片91 | 美女视频黄的免费 | 亚洲中午字幕 | 午夜精品久久久久久 | 成人网在线观看 |