日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
頂級(jí)實(shí)體框架的核心工具與擴(kuò)展

頂級(jí)實(shí)體框架的核心工具與擴(kuò)展

實(shí)體框架(Entity Framework)是Microsoft提供的一種對(duì)象關(guān)系映射(Object Relational Mapper,ORM)型工具。作為目前十分流行的ORM工具,實(shí)體框架能夠讓開(kāi)發(fā)人員通過(guò)對(duì)概念模型(而不是關(guān)系模型)進(jìn)行編程,來(lái)創(chuàng)建以數(shù)據(jù)為中心的應(yīng)用程序。據(jù)此,用戶可以解決數(shù)據(jù)在應(yīng)用程序中的表示方式、和實(shí)際存儲(chǔ)在數(shù)據(jù)庫(kù)中的方式,這兩者之間的不匹配問(wèn)題。

本文將按照如下列表順序,和您一起討論那些頂級(jí)的實(shí)體框架,以及實(shí)體框架核心(Entity Framework Core)的工具與擴(kuò)展:-

工具類

  • Devart Entity Developer
  • Entity Framework Visual Editor
  • nHydrate ORM for Entity Framework
  • EF Core Power Tools
  • CatFactory

擴(kuò)展類

  • Microsoft.EntityFrameworkCore.AutoHistory
  • EFCore.BulkExtensions
  • Entity Framework Plus
  • Microsoft.EntityFrameworkCore.UnitOfWork
  • EfCore.InMemoryHelpers
  • EntityFrameworkCore.Cacheable

下面我們先來(lái)討論一下時(shí)下流行的實(shí)體框架工具。

Devart Entity Developer

由Devart推出的Entity Developer是一個(gè)非常強(qiáng)大的建模和代碼生成工具。它屬于ORM工具范疇。Entity developer使您可以一目了然地可視化設(shè)計(jì)數(shù)據(jù)的訪問(wèn)層。由于Devart生成的數(shù)據(jù)訪問(wèn)層包含了各種自動(dòng)生成的代碼,因此其出錯(cuò)的可能性非常小。

Entity Developer在其官方網(wǎng)站上指出:“Entity Developer可以在一個(gè)統(tǒng)一的界面中幫助您設(shè)計(jì)各種.NET ORM模型。您可以通過(guò)購(gòu)買(mǎi)單獨(dú)的版本,以獲得對(duì)所有ORM的支持?!?/p>

該方案允許使用“模型優(yōu)先”和“數(shù)據(jù)庫(kù)優(yōu)先”的方法,來(lái)設(shè)計(jì)各種模型,并生成C#或Visual Basic .NET的相關(guān)代碼。它支持創(chuàng)建各種映射關(guān)系。例如:表的拆分,將實(shí)體映射到多個(gè)表中,各種復(fù)雜的類型,層次化繼承結(jié)構(gòu),用SELECT語(yǔ)句創(chuàng)建實(shí)體,以及從SQL代碼創(chuàng)建方法等。

除了獨(dú)立的可視化ORM設(shè)計(jì)器和Visual Studio加載項(xiàng)之外,Entity Developer還提供了一個(gè)控制臺(tái)應(yīng)用程序。它可以實(shí)現(xiàn):從數(shù)據(jù)庫(kù)生成模型,從模型生成代碼,通過(guò)命令行從模型腳本創(chuàng)建和更新數(shù)據(jù)庫(kù)。該工具的下載地址為--https://www.devart.com/entitydeveloper/

Entity Framework Visual Editor

Entity Framework Visual Editor不但支持Entity Framework Core、Entity Framework 6及其更高的版本,而且能夠作為Visual Studio 2019的擴(kuò)展。您可以從Visual Studio市場(chǎng)的鏈接-- https://marketplace.visualstudio.com/items?itemName=michaelsawczyn.EFDesigner,下載該工具。作為一個(gè)代碼生成器,它為繼承和(單向和雙向)關(guān)聯(lián)提供了支持,并允許對(duì)持久性的類,進(jìn)行簡(jiǎn)單、快速的可視化設(shè)計(jì)。

nHydrate ORM for Entity Framework

nHydrate是針對(duì)Microsoft實(shí)體框架的一種開(kāi)源且成熟的ORM方案。值得注意的是,nHydrate并非實(shí)體框架的替代品,而是為它添加了一個(gè)建模層,以協(xié)助用戶無(wú)縫地可視化和編寫(xiě)自定義的代碼與擴(kuò)展。

在開(kāi)發(fā)企業(yè)級(jí)應(yīng)用程序時(shí),您可能需要修改或更新自己的底層數(shù)據(jù)庫(kù)。此類更改雖然鮮少發(fā)生,但是您需要通過(guò)更新對(duì)象模型,以保證它與數(shù)據(jù)庫(kù)中駐留的對(duì)象相同步。也就是說(shuō),任何在應(yīng)用程序中出現(xiàn)的功能性更改,都能夠觸發(fā)數(shù)據(jù)庫(kù)的變更。據(jù)此,您可以利用nHydrate進(jìn)行建模,而不必?fù)?dān)心遺漏對(duì)于底層數(shù)據(jù)庫(kù)的相應(yīng)更改。同時(shí),您在使用nHydrate從數(shù)據(jù)庫(kù)中生成模型時(shí),它將自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)的更改腳本,以實(shí)現(xiàn)模型與數(shù)據(jù)庫(kù)的同步。

您可以從Visual Studio市場(chǎng)的鏈接-- https://marketplace.visualstudio.com/items?itemName=nHydrateorg.nHydrateORMModeler,下載該工具的最新版本。此外,它在Github上的鏈接為--https://github.com/nHydrate/nHydrate

EF Core Power Tools

作為Visual Studio的一種擴(kuò)展,EF Core Power Tools提供了實(shí)用的DbContext功能。而且這些功能已被添加到了VS Solution Explorer的上下文菜單中。因此,總的說(shuō)來(lái),EC Core Power Tools的顯著功能包括:

i. 支持針對(duì)SQL Server、Azure SQL DB、PostgreSQL、MySQL、SQLite、Oracle和SQL Server Compact等數(shù)據(jù)庫(kù)的反向工程。

ii. 支持各種遷移工具。

iii. 支持模型的繪圖和腳本的編制。

您可以從Visual Studio市場(chǎng)的鏈接-- https://marketplace.visualstudio.com/items?itemName=ErikEJ.EFCorePowerTools,下載該工具。

CatFactory

作為一種內(nèi)置了C#并兼容.NET Core的scaffolding引擎,CatFactory支持Entity Framework Core、Dapper和.NET Core。它可以從現(xiàn)有的SQL Server實(shí)例中導(dǎo)入整個(gè)數(shù)據(jù)庫(kù),以便scaffold(映射)某個(gè)目標(biāo)技術(shù)。您可以從Github鏈接--https://github.com/hherzl/CatFactory,下載該工具。

下面我們來(lái)討論一下時(shí)下流行的實(shí)體框架擴(kuò)展。

Microsoft.EntityFrameworkCore.AutoHistory

作為實(shí)體框架核心的一個(gè)重要插件,您可以利用名為AutoHistory來(lái)自動(dòng)記錄數(shù)據(jù)的更改歷史,并將這些更改存儲(chǔ)到一個(gè)名為AutoHistories的數(shù)據(jù)庫(kù)表中。當(dāng)然值得注意的是,默認(rèn)情況下此功能是被禁用的。因此,若想啟用該功能,您需要在DbContext類中重寫(xiě)OnModelCreating方法,然后使用ModelBuilder實(shí)例,去調(diào)用EnableAutoHistory()的擴(kuò)展方法。此外,還有另一種名為EnsureAutoHistory的擴(kuò)展方法,可為特定的DbContext自動(dòng)保留了歷史記錄。

您可以在軟件包管理控制臺(tái)中使用如下命令,來(lái)進(jìn)行安裝:

 
 
 
  1. PM> Install-Package Microsoft.EntityFrameworkCore.AutoHistory

它在Github上的鏈接為--https://github.com/Arch/AutoHistory。

EFCore.BulkExtensions

在開(kāi)發(fā)以數(shù)據(jù)為中心的企業(yè)級(jí)應(yīng)用程序時(shí),您可能經(jīng)常需要批量地執(zhí)行CRUD(創(chuàng)建、檢索、更新、刪除)等相關(guān)操作,此時(shí)EFCore.BulkExtensions正好能派上用場(chǎng)。它是一種輕量級(jí)的擴(kuò)展,可被用于在SQL Server和SQLite上進(jìn)行批量的CRUD操作。

您可以在軟件包管理控制臺(tái)中使用如下命令,來(lái)進(jìn)行安裝:

 
 
 
  1. PM> Install-Package EFCore.BulkExtensions

它在Github上的鏈接為--https://github.com/borisdj/EFCore.BulkExtensions。

Entity Framework Plus

作為一個(gè)免費(fèi)的開(kāi)源庫(kù),Entity Framework Plus可用于擴(kuò)展Entity Framework 6和Entity Framework Core的各項(xiàng)功能。換句話說(shuō),它解決了實(shí)體框架的局限性,并為其添加了一些必備的功能。您可以利用該擴(kuò)展庫(kù)執(zhí)行多項(xiàng)操作,其中包括:過(guò)濾,審核,緩存,查詢,批量刪除,以及批量更新等。

您可以從其官網(wǎng)鏈接--https://entityframework-plus.net/,下載該工具。

Microsoft.EntityFrameworkCore.UnitOfWork

該插件既支持存儲(chǔ)庫(kù)和工作單元的各種設(shè)計(jì)模式,又能夠?yàn)槎鄠€(gè)數(shù)據(jù)庫(kù)和分布式事務(wù)提供支持。

您可以在軟件包管理控制臺(tái)中使用如下命令,來(lái)進(jìn)行安裝:

 
 
 
  1. PM> Install-Package Microsoft.EntityFrameworkCore.UnitOfWork

它在Github上的鏈接為--https://github.com/Arch/UnitOfWork。

EfCore.InMemoryHelpers

EfCore.InMemoryHelpers插件為實(shí)體框架核心的內(nèi)存數(shù)據(jù)庫(kù)提供程序(In-Memory Database Provider)準(zhǔn)備了一個(gè)包裝器。該提供程序可被用于處理內(nèi)存中各種數(shù)據(jù)庫(kù)。當(dāng)然,在SQL Server 2014中也包含了對(duì)于內(nèi)存數(shù)據(jù)庫(kù)的支持??偟恼f(shuō)來(lái),EfCore.InMemoryHelpers插件的主要特征包括:

  • 開(kāi)源。
  • 支持內(nèi)存數(shù)據(jù)庫(kù)。
  • 支持索引驗(yàn)證。

您可以在軟件包管理控制臺(tái)中使用如下命令,來(lái)進(jìn)行安裝:

 
 
 
  1. PM> Install-Package EfCore.InMemoryHelpers

它在Github上的鏈接為--https://github.com/FelixBoers/EfCore.InMemoryHelpers。

EntityFrameworkCore.Cacheable

緩存,既是一項(xiàng)技術(shù),也是一種更為精確的策略。它可以將稍舊的數(shù)據(jù)存儲(chǔ)到內(nèi)存中,以提高應(yīng)用程序的性能。據(jù)此,所有后續(xù)的請(qǐng)求都可以在內(nèi)存的高速緩存中,被檢索到,而不必從文件系統(tǒng)、或數(shù)據(jù)庫(kù)中里去檢索數(shù)據(jù)。隨著向(從)內(nèi)存中讀取(寫(xiě)入)數(shù)據(jù)的加快,整體性能也得到了提升。

EntityFrameworkCore.Cacheable是一種實(shí)體框架的高性能二級(jí)查詢緩存擴(kuò)展庫(kù)。它支持對(duì)所有緩存類型的結(jié)果進(jìn)行查詢。

您可以在軟件包管理控制臺(tái)中使用如下命令,來(lái)進(jìn)行安裝:

 
 
 
  1. PM> Install-Package EntityFrameworkCore.Cacheable

它在Github上的鏈接為--https://github.com/SteffenMangold/EntityFrameworkCore.Cacheable。

總結(jié)

在上文中,我們討論了實(shí)體框架和實(shí)體框架核心的各種頂級(jí)工具和擴(kuò)展。您可以根據(jù)實(shí)際應(yīng)用程序的需求,從中做出正確的選擇。

原標(biāo)題:Top Entity Framework Core Tools and Extensions ,作者:Joydip Kanjilal


分享名稱:頂級(jí)實(shí)體框架的核心工具與擴(kuò)展
轉(zhuǎn)載注明:http://m.5511xx.com/article/codcgos.html