該發電機像專家反向工程一樣創建代碼,對您的數據庫進行了設計,並為您創建了代碼。完美。
逆向工程現有數據庫並生成實體框架代碼首先POCO類,配置映射,枚舉,dbcontext,fakedbcontext(用於易於單元測試)和呼叫存儲的過程以及表值值。
精美生成的代碼第一個代碼,該代碼完全可自定義
請注意,這不是Microsoft反向發生器。該發電機可以創建代碼,就好像您對數據庫進行了反向設計並手工精心創建代碼一樣。它還使您可以根據自己的喜好自定義生成的代碼。
如果您願意或正在使用此項目,請給它星星。謝謝!
免費獲得學者(您需要一個.EDU,.AC或.SCH電子郵件地址),而不是免費的商業用途。
請訪問RequversPoco網站以獲取許可證密鑰。
請閱讀升級文檔
單擊此處查看此版本中的新功能。
該發電機的設計從一開始就可以自定義,而不是像其他發電機一樣固定和剛性。在<database>.tt文件中使用設置。那就是它的目的。
如果您的數據庫更改,請重新保存<database>.tt文件。就是這樣。
單擊此處查看功能的完整列表。
使用Nuget並為您的數據庫安裝相關的Nuget軟件包。
install-package Microsoft.EntityFrameworkCore.SqlServerinstall-package EntityFramework Settings.ConnectionString在V3中是強制性的,因此您需要從app.config/web.config/appsettings.json文件中提供連接字符串。發電機使用此連接字符串將您的數據庫逆轉工程。它不再從 *.config文件讀取您的連接字符串。
例如:
settings.connectionstring =“ data source =(local); intiral catalog = northwind; Integrated Security = true; Encrypt = false; trust serverservercertificate = true';
您使用的Settings.ConnectionString字符串至少必須具有這些特權: ddladmin , datareader和datawriter 。讀取默認約束所必需的ddladmin 。
在Visual Studio中,右鍵單擊項目,然後選擇“添加 - 新項目”。
在線選擇,然後搜索反向POCO 。
選擇EntityFramework反向POCO生成器。
給文件一個名稱,例如Database.tt ,然後單擊添加。
編輯Database.tt文件,並在Settings.ConnectionString中指定完整的連接字符串。 Generater使用它來讀取您的數據庫模式並進行反向工程。
編輯Database.tt文件並在Settings.ConnectionStringName中指定連接字符串,該名稱匹配您的appsettings.json , app.config或web.config中指定的連接鍵鍵。
保存Database.tt文件,該文件現在將生成Database.cs文件。每次保存Database.tt文件時,生成器都會對您的數據庫進行反向工程。
您可以使用許多選項來自定義生成的代碼。所有這些設置都在Database.tt文件中。
Settings.ConnectionString在版本3中是強制性的。生成器使用它來讀取您的數據庫架構。連接字符串(可選)放置在配置功能中:
protected override void OnConfiguring ( DbContextOptionsBuilder optionsBuilder ) { { #n ewline } }
{ { { #n ewline } }
if ( ! optionsBuilder . IsConfigured ) { { #n ewline } }
{ { { #n ewline } }
optionsBuilder . UseSqlServer ( @"" { { ConnectionString } } "" ) ; { { #newline } }
} { { #n ewline } }
} { { #n ewline } } { { #n ewline } } Settings.ConnectionStringName這不是生成器使用的,而是通過呼叫Settings.DefaultConstructorArgument將其放置在生成的dbcontext構造函數中。
public { { DbContextName } } ( ) { { #n ewline } }
{ { #if HasDefaultConstructorArgument } }
: base ( { { DefaultConstructorArgument } } ) { { #n ewline } }
{ { / if } }GITHUB可在Github上找到一個簡單的UI,該UI可幫助您創建正則表達式以過濾桌子。
要在編輯TT文件時具有完整的語法突出顯示和Intellisense,我使用Resharper插件Fortea。沒有它,我無法想像編輯TT文件。
無需直接編輯EF.Reverse.POCO.v3.ttinclude文件,因為該文件是從C#項目生成的。該存儲庫包括從Generator C#項目中創建EF.Reverse.POCO.v3.ttinclude的buildtt文件。
請閱讀[https://github.com/blog/1943-how-to-write-the-perfect-pull-request](如何編寫完美的拉請請求)
我的要求很簡單:
EF.Reverse.POCO.v3.ttinclude文件。該存儲庫包括從Generator C#項目中創建EF.Reverse.POCO.v3.ttinclude BuildTT項目。問候,西蒙·休斯(Simon Hughes)