国产精品久久久久久2021,日韩精品无码av中文无码版,亚洲精品久久久午夜麻豆,无码成人精品日本动漫纯h

010-68421378
當前您所在的位置:首頁>新聞中心>行業(yè)動態(tài)

Devart:Entity Developer 6.12 具有更多數(shù)據(jù)類型、模板改進等

發(fā)布時間:2022/02/28 瀏覽量:3447
Entity Developer 6.12的新版本主要側重于基于用戶反饋的 Entity Framework Core 支持改進。

Entity Developer 6.12的新版本主要側重于基于用戶反饋的 Entity Framework Core 支持改進。我們將繼續(xù)研究這些功能,其中一些功能將來也可能會移植到其他 ORM 中。

實體框架核心 6

以前,EF Core 6 在其第一個預覽版本中同時支持 .NET 5 和 .NET 6。以前的 Entity Developer 版本支持 EF Core 6,您可以在集成到 Visual Studio 2019 預覽版的 Entity Developer 以及獨立版本和控制臺版本中設計 EF Core 6 模型。

目前 EF Core 6 已停止支持 .NET 5,僅支持 .NET 6。.NET 6 支持也已從 Visual Studio 2019 預覽版中刪除,目前僅在 Visual Studio 2022 中可用。后者沒有穩(wěn)定版版本,并具有預覽狀態(tài)。Entity Developer 尚不支持與 Visual Studio 2022 的集成,因此現(xiàn)在它僅在獨立版本和控制臺版本中支持 EF Core 6 模型。

 

支持新類型

我們繼續(xù)擴展 EF Core 模型支持的類型列表。之前的 Entity Developer 版本引入了對 IPAddress 和 PhysicalAddress 類型的支持。新的 6.12 版本將 Uri 添加到支持的類型列表(到其他類型部分)。EF Core 3、EF Core 5 和 EF Core 6 模型支持 Uri 類型。支持此類型的 EF Core 提供程序通常將其映射到數(shù)據(jù)庫中的字符串數(shù)據(jù)類型(varchar、text 等)。

 

.NET 6 還引入了新的 DateOnly 和 TimeOnly 類型,它們在某些情況下比更通用的經(jīng)典 DateTime 和 TimeSpan 類型更合適。一些 EF Core 6 提供程序開始支持這些類型,因此新的 Entity Developer 版本也支持它們。DateOnly 和 TimeOnly 類型現(xiàn)在在 Primitive Types 部分可用。

 

Entity Developer 中支持的類型列表隨著時間的推移顯著增加,但默認情況下,Property Editor 對話框中對應的 Type UI 列表的尺寸很小。其在新的 Entity Developer 版本中顯著增加,使得選擇屬性類型更加方便。

 

 

 

選擇屬性類型

 

存儲模型連接

 

以前,模型連接字符串始終存儲在模型文件之一中(特別是在 edps 文件中)。但是,在許多情況下,出于安全考慮,這種方法并不合適。這適用于模型存儲在代碼存儲庫(Git/Mercurial/SVN/等)中的情況,并且可以訪問該存儲庫的人多于應該訪問連接字符串的人。

 

以前,允許您限制模型中存儲的敏感安全信息的唯一安全功能是 Persist Security Info 參數(shù)。如果設置為 False,則在保存模型時會從連接字符串中刪除密碼。這在很多情況下是不夠的,因此新的 Entity Developer 版本提供了額外的安全功能。

 

現(xiàn)在您可以完全放棄將連接字符串保存在模型文件中。這提供了最高的安全性,但如果您需要經(jīng)常連接到數(shù)據(jù)庫(例如,將模型更改與數(shù)據(jù)庫同步,反之亦然),則可能會過度且不方便。

 

這就是我們支持將連接字符串存儲到 EF Core 模型的Entity Developer存儲的原因。連接字符串仍然鏈接到模型,但單獨存儲在當前用戶的 Entity Developer 設置目錄中:

 

 

 

連接字符串存儲在以下文件中:

 

 

 

作為替代方案,您還可以將連接字符串存儲在當前用戶的環(huán)境變量中。這種替代方法適用于許多情況,但并不普遍。它可能不適合連接字符串很長或用戶已經(jīng)有很多環(huán)境變量的情況。

 

 

 

存儲模型連接字符串

 

至于我們對此功能的未來計劃,我們正在考慮至少添加對 ASP.NET Core 用戶機密功能的部分支持。此任務有其自身的復雜性,因為此功能僅適用于 .NET Core 應用程序并且與 Visual Studio 項目密切相關。

 

代碼生成模板改進

 

存儲庫和工作單元模板

 

存儲庫和工作單元模板為 EF Core 模型提供了新的“生成 UnitOfWork 存儲庫屬性”屬性(默認為 True)。

 

在此屬性之前,生成的 IUnitOfWork 接口只有 Save() 方法,并且獲取存儲庫(可以通過多種方式實現(xiàn))必須由用戶實現(xiàn)。

 

 public partial interface IUnitOfWork : IDisposable

    {

        void Save();

    }

現(xiàn)在,如果您將“Generate UnitOfWork Repository Properties”設置為 True,則 IUnitOfWork 接口提供對所有存儲庫的訪問:

 

 public partial interface IUnitOfWork : IDisposable

    {

        IRepository<Emp> Emps { get; }

        IRepository<Dept> Depts { get; }

        void Save();

    }

 

數(shù)據(jù)傳輸對象模板

 

數(shù)據(jù)傳輸對象 (DTO) 模板現(xiàn)在具有適用于所有 ORM的新“驗證框架”和“驗證錯誤消息”屬性。主要的 EF Core 模板之前就有它們,用于為模型類生成 DataAnnotation 屬性?,F(xiàn)在,您也可以輕松地為 DTO 類生成它們。

 

 public partial class DeptDto

    {

        [Key]

        [Required()]

        public int Deptno { get; set; }

 

        [StringLength(14)]

        public string Dname { get; set; }

 

        [StringLength(13)]

        public string Loc { get; set; }

 

        public List<EmpDto> Emps { get; set; }

    }

 

EF 核心模板

 

獨特的 EF Core 模型功能之一是支持在模型中定義的枚舉類型,并為它們生成代碼。但是,在某些情況下,將此類枚舉用作實體和 DTO 類的屬性類型時,如果將輸出生成到不同的項目,則 DTO 模板可能會出現(xiàn)問題。

 

例如:

EF Core 模板為項目 A 生成所有內容。

數(shù)據(jù)傳輸對象模板為另一個不引用 A 的項目 B 生成 DTO 類。

數(shù)據(jù)傳輸對象模板為引用 A 和 B 的項目 C 生成 DTO 轉換器類。

 

在這種情況下,需要為枚舉指定輸出。比如上面的例子,我們需要在一個新的項目D中生成enums,并在上面所有的項目中添加對它的引用。為此,我們 在 EF Core 模板中添加了新的 “Enum Output”屬性,允許您為生成的枚舉指定輸出。

 

結論

Entity Developer 的開發(fā)很大程度上基于我們用戶的反饋。請不要猶豫,分享您的使用案例和建議,我們將盡力為您提供更好的用戶體驗。

 

下一篇:Bluebeam:如何在 Revu eXtreme 中使用表單字段自動計算
上一篇:StorageCraft OneXafe Solo:直達云端的數(shù)據(jù)保護

                               

 京ICP備09015132號-996 | 違法和不良信息舉報電話:4006561155

                                   © Copyright 2000-2026 北京哲想軟件有限公司版權所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號豪柏大廈C2座11層1105室

                         北京哲想軟件集團旗下網(wǎng)站:哲想軟件 | 哲想動畫

                            華滋生物