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

頂級實體框架的核心工具與擴展

譯文
開發 開發工具
本文將和您討論實體框架和實體框架核心的各種頂級工具和擴展,您可以根據實際應用程序的需求,從中做出正確的選擇。

[[342545]]頂級實體框架的核心工具與擴展" title="頂級實體框架的核心工具與擴展">

【51CTO.com快譯】實體框架(Entity Framework)是Microsoft提供的一種對象關系映射(Object Relational Mapper,ORM)型工具。作為目前十分流行的ORM工具,實體框架能夠讓開發人員通過對概念模型(而不是關系模型)進行編程,來創建以數據為中心的應用程序。據此,用戶可以解決數據在應用程序中的表示方式、和實際存儲在數據庫中的方式,這兩者之間的不匹配問題。

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

工具類

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

擴展類

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

下面我們先來討論一下時下流行的實體框架工具。

Devart Entity Developer

由Devart推出的Entity Developer是一個非常強大的建模和代碼生成工具。它屬于ORM工具范疇。Entity developer使您可以一目了然地可視化設計數據的訪問層。由于Devart生成的數據訪問層包含了各種自動生成的代碼,因此其出錯的可能性非常小。

Entity Developer在其官方網站上指出:“Entity Developer可以在一個統一的界面中幫助您設計各種.NET ORM模型。您可以通過購買單獨的版本,以獲得對所有ORM的支持。”

該方案允許使用“模型優先”和“數據庫優先”的方法,來設計各種模型,并生成C#或Visual Basic .NET的相關代碼。它支持創建各種映射關系。例如:表的拆分,將實體映射到多個表中,各種復雜的類型,層次化繼承結構,用SELECT語句創建實體,以及從SQL代碼創建方法等。

除了獨立的可視化ORM設計器和Visual Studio加載項之外,Entity Developer還提供了一個控制臺應用程序。它可以實現:從數據庫生成模型,從模型生成代碼,通過命令行從模型腳本創建和更新數據庫。該工具的下載地址為--https://www.devart.com/entitydeveloper/

Entity Framework Visual Editor

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

nHydrate ORM for Entity Framework

nHydrate是針對Microsoft實體框架的一種開源且成熟的ORM方案。值得注意的是,nHydrate并非實體框架的替代品,而是為它添加了一個建模層,以協助用戶無縫地可視化和編寫自定義的代碼與擴展。

在開發企業級應用程序時,您可能需要修改或更新自己的底層數據庫。此類更改雖然鮮少發生,但是您需要通過更新對象模型,以保證它與數據庫中駐留的對象相同步。也就是說,任何在應用程序中出現的功能性更改,都能夠觸發數據庫的變更。據此,您可以利用nHydrate進行建模,而不必擔心遺漏對于底層數據庫的相應更改。同時,您在使用nHydrate從數據庫中生成模型時,它將自動創建數據庫的更改腳本,以實現模型與數據庫的同步。

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

EF Core Power Tools

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

i. 支持針對SQL Server、Azure SQL DB、PostgreSQL、MySQL、SQLite、Oracle和SQL Server Compact等數據庫的反向工程。

ii. 支持各種遷移工具。

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

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

CatFactory

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

下面我們來討論一下時下流行的實體框架擴展。

Microsoft.EntityFrameworkCore.AutoHistory

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

您可以在軟件包管理控制臺中使用如下命令,來進行安裝:

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

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

EFCore.BulkExtensions

在開發以數據為中心的企業級應用程序時,您可能經常需要批量地執行CRUD(創建、檢索、更新、刪除)等相關操作,此時EFCore.BulkExtensions正好能派上用場。它是一種輕量級的擴展,可被用于在SQL Server和SQLite上進行批量的CRUD操作。

您可以在軟件包管理控制臺中使用如下命令,來進行安裝:

  1. PM> Install-Package EFCore.BulkExtensions 

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

Entity Framework Plus

作為一個免費的開源庫,Entity Framework Plus可用于擴展Entity Framework 6和Entity Framework Core的各項功能。換句話說,它解決了實體框架的局限性,并為其添加了一些必備的功能。您可以利用該擴展庫執行多項操作,其中包括:過濾,審核,緩存,查詢,批量刪除,以及批量更新等。

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

Microsoft.EntityFrameworkCore.UnitOfWork

該插件既支持存儲庫和工作單元的各種設計模式,又能夠為多個數據庫和分布式事務提供支持。

您可以在軟件包管理控制臺中使用如下命令,來進行安裝:

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

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

EfCore.InMemoryHelpers

EfCore.InMemoryHelpers插件為實體框架核心的內存數據庫提供程序(In-Memory Database Provider)準備了一個包裝器。該提供程序可被用于處理內存中各種數據庫。當然,在SQL Server 2014中也包含了對于內存數據庫的支持??偟恼f來,EfCore.InMemoryHelpers插件的主要特征包括:

  • 開源。
  • 支持內存數據庫。
  • 支持索引驗證。

您可以在軟件包管理控制臺中使用如下命令,來進行安裝:

  1. PM> Install-Package EfCore.InMemoryHelpers 

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

EntityFrameworkCore.Cacheable

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

EntityFrameworkCore.Cacheable是一種實體框架的高性能二級查詢緩存擴展庫。它支持對所有緩存類型的結果進行查詢。

您可以在軟件包管理控制臺中使用如下命令,來進行安裝:

 

  1. PM> Install-Package EntityFrameworkCore.Cacheable 

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

總結

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

原標題:Top Entity Framework Core Tools and Extensions ,作者:Joydip Kanjilal

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2018-12-26 15:14:56

2021-09-06 10:05:42

Chrome瀏覽器

2015-05-22 16:43:44

2009-03-16 09:16:13

行為擴展WCF.NET

2016-06-13 10:48:26

開發運維工具

2020-07-17 07:00:00

GitHubgit開源

2022-03-13 23:26:29

JavaScript編程語言開發

2017-01-19 09:57:18

APP開發JavaScript

2018-04-17 12:58:52

大數據工具大數據數據可視化

2024-09-13 09:03:28

2009-07-20 15:51:40

FubuMVC核心框架ASP.NET MVC

2020-04-21 11:44:39

威脅建模框架安全工具

2025-03-24 00:00:00

2019-05-22 10:57:15

工具微服務架構

2016-02-23 15:18:26

開源問題追蹤工具

2016-12-14 14:08:23

移動APP開發JavaScript

2024-03-11 10:19:30

Plasmo瀏覽器Web

2015-12-28 09:39:48

開源辦公工具工具

2024-02-26 00:00:00

前端工具Space.js

2019-11-14 09:00:00

前端測試工具框架
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 美女一区二区在线观看 | 羞羞视频免费在线 | 国产精品视频一二三区 | www.日韩系列 | 久久精品国产亚洲一区二区三区 | 国产精品久久久久一区二区三区 | 国产人免费人成免费视频 | 国产精品久久视频 | 日韩二区| 亚洲一av| 久久久www成人免费无遮挡大片 | 日韩视频免费看 | 四虎最新 | 成人国产精品久久久 | 中文字幕国产高清 | 欧美成人一区二免费视频软件 | 日本黄色片免费在线观看 | 亚洲国产精品va在线看黑人 | 九九九视频在线观看 | 国产成人精品一区二区三区 | 日韩欧美在线视频观看 | 久久久精品 | 亚洲成人日韩 | 欧美一区二区久久 | 久久国产精品视频 | 亚洲精品视频在线看 | 区一区二区三在线观看 | 中文字幕一区二区三区四区五区 | 欧美一区二区大片 | 91不卡 | 久久精品国产一区二区电影 | 久久久激情视频 | 国产黄色小视频在线观看 | 国产精品片aa在线观看 | 国产精品 欧美精品 | 日产久久 | 一级特黄网站 | 亚洲欧美日本国产 | 欧美久久精品 | 一区二区三区精品视频 | 国产亚洲成av人在线观看导航 |