该发电机像专家反向工程一样创建代码,对您的数据库进行了设计,并为您创建了代码。完美。
逆向工程现有数据库并生成实体框架代码首先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)