Entity Framework Power Tools安裝和使用


Entity Framework Power Tools是一個由EntityFramework開發小組提供的工具,它可以從現有數據庫生成Fluent款式的Code First代碼。

大致來說,這個工具有這樣幾個功能:
1) 按照現有數據庫結構,生成Code First POCO class、DbContext class和相應的mapping class。

2) 以designer模式或XML模式查看POCO class對應的Entity Data Model (edmx) 。

3) 查看Entity Data Model所對應的DDL。

4) 生成EF Generated View提高EF性能。

Entity Framework Power Tools安裝

1、VS-工具-擴展管理器-搜索:Entity Framework Power Tools-然后安裝

2、安裝完成后,然后重啟VS

在項目上單擊右鍵,在彈出的菜單中可以看到增加了一個Entity Framework的菜單項,里面有一個Reverse Enginner Code First。單擊它以后出現選擇數據連接的窗口,建立好數據連接之后它會自動地生成所有數據表所映射的實體類和對應的映射類(放在Mapping文件夾中),並且還自動生成了DbContext類。用生成的這些類取代原來通過EF直接建立的實體類和Context,強大吧。

3、Entity Framework Power Tools生成的部分代碼

model news

using System;
using System.Collections.Generic; namespace Web.Models { public partial class news { public int ID { get; set; } public string title { get; set; } public string cons { get; set; } public int counts { get; set; } public System.DateTime times { get; set; } } }

model admin

using System;
using System.Collections.Generic; namespace Web.Models { public partial class admin { public int ID { get; set; } public string username { get; set; } public string password { get; set; } public Nullable<System.DateTime> logintimes { get; set; } } }

DbContext

using System.Data.Entity;
using System.Data.Entity.Infrastructure; using Web.Models.Mapping; namespace Web.Models { public partial class mvc_ceshi1Context : DbContext { static mvc_ceshi1Context() { Database.SetInitializer<mvc_ceshi1Context>(null); } public mvc_ceshi1Context() : base("Name=mvc_ceshi1Context") { } public DbSet<admin> admins { get; set; } public DbSet<news> news { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Configurations.Add(new adminMap()); modelBuilder.Configurations.Add(new newsMap()); } } }

 web.config也會生成鏈接字符串

4、新建類庫注意事項

1. 如果是新建的類庫需先引用Entity Framework.dll,不然如圖異常
2. 鏈接數據庫的時候沒有在“高級設置”中設置“安全連接”,如圖異常
異常圖(參數錯誤。(異常來自HRESULT:0x80070057(E_INVALIDARG))):

 

MSDN:https://msdn.microsoft.com/zh-CN/data/jj593170

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM