1、數(shù)據(jù)庫優(yōu)先,模型優(yōu)先和代碼優(yōu)先開發(fā)
有幾種數(shù)據(jù)庫應用程序開發(fā)方法。數(shù)據(jù)庫優(yōu)先 - 首先開發(fā)數(shù)據(jù)庫,然后在現(xiàn)有數(shù)據(jù)庫的基礎上生成數(shù)據(jù)模型和應用程序類。Model-First -
首先在模型開發(fā)工具中開發(fā)數(shù)據(jù)模型,然后通過該模型生成數(shù)據(jù)庫和應用程序類。代碼優(yōu)先 -
在這種情況下,應用程序類是原始數(shù)據(jù)源,在此基礎上可以生成數(shù)據(jù)庫,如果需要,還可以使用模型。使用EntityDAC開發(fā)應用程序時,您將能夠使用所有三種方式。
2、帶代碼生成的Visual ORM模型設計器
實體開發(fā)人員允許您直觀地創(chuàng)建和編輯ORM模型,而無需在Delphi代碼中輸入一行XML代碼或手動描述類屬性。它支持創(chuàng)建各種映射,如表格拆分,將實體映射到多個表格,復雜類型,繼承層次等。由于使用了類似T4的模板,因此代碼生成非常靈活,幾乎允許任何代碼生成,你甚至可以為其他編程語言創(chuàng)建自己的模板。
3、LINQ查詢
在開發(fā)應用程序時使用ORM不僅必須加速應用程序本身的開發(fā),而且還要統(tǒng)一應用程序代碼并使應用程序獨立于開發(fā)它的SQL數(shù)據(jù)庫的特定和語法,從而支持您的多個數(shù)據(jù)庫應用程序不費力氣。因此,在EntityDAC中使用語言集成查詢(LINQ)作為查詢語言。使用LINQ還顯著簡化了對查詢的編寫和進一步支持,因為在這種情況下,在輸入LINQ關鍵字,類名稱,屬性等時使用代碼完成的Delphi引擎。同樣,LINQ查詢語法檢查在應用程序編譯階段。
4、類映射
數(shù)據(jù)庫表到Delphi類的對象關系映射不僅可以執(zhí)行從基本TEntity類繼承的類,還可以執(zhí)行從TObject繼承的自定義類。這種方法允許使用EntityDAC開發(fā)新的應用程序,以及簡單地將ORM引入到已有的項目中。另外,支持不同的映射方法:代碼映射,屬性映射和XML映射。
5、實體和查詢緩存
為了提高應用程序性能,EntityDAC允許緩存元數(shù)據(jù),從數(shù)據(jù)庫加載的所有實體,LINQ查詢等等。與使用標準數(shù)據(jù)訪問組件相比,這種緩存可以避免多次加載相同的數(shù)據(jù)并大大提高性能。