概述
使用T4模板根据数据库生成model层
为了实现由数据库中的table表直接生成model文件
T4模板介绍
学习EF时接触到T4模板,感觉到了它的强大。既然EF的edmx文件下的**tt文件可以生成model层的cs文件**,那么我们也可以直接用T4模板生成model层喽。当然T4可以做更多事,不过今日我们只让它做这一件事。
T4,即4个T开头的英文字母组合:Text Template Transformation Toolkit。简单来说就是**自定义规则代码生成文件**。T4模板因其扩展名为“.tt”又叫做tt模板。
T4模板里面可以在<##>里面写入代码而达到类似aspx页面动态输出效果。
T4内的一些类和方法我们不再深究。
通过数据库模式中的 T4 模板的数据库优先方法(仅限于 SQL Server)
可以通过安装 NuGet 包Dapper.FastCrud.ModelGenerator
并创建您自己的 ( *Config.tt
) 文件来执行实体生成,这些文件使用此包中提供的通用模板。使用示例配置模板获取灵感。
不要修改GenericModelGenerator.tt
,因为这将阻止将来通过 NuGet 进行升级。对于这种方法,您需要一个包含架构的 LocalDb 或 MsSql 服务器。默认情况下,脚本会在app.config
文件中查找连接字符串,但我们强烈建议您创建一个单独的.config
文件并相应地调整您的文件*Config.tt
。
例如,假设我们想要一个类库项目来保存我们的数据库实体。
- 创建一个新的类库项目
- 将
Dapper.FastCrud.ModelGenerator
包安装到您的项目中。这将创建一个名为 的文件夹Models
,其中包含一个GenericModelGenerator.tt
文件和一个SampleModelGeneratorConfig.tt
文件。 SampleModelGeneratorConfig.tt
制作配置文件的副本。根据需要重命名。假设我们已命名它MyModelGeneratorConfig.tt
并将其放置在与示例配置文件相同的位置。确保复制的文件已BuildAction
设置为None
并在该文件的属性中CustomTool
设置为 。TextTemplatingFileGenerator
(可通过程序中的选项来设置)- 删除文件的属性
TextTemplatingFileGenerator
值。这只是一个示例,我们不希望它处于活动状态。Custom Tool``SampleModelGeneratorConfig.tt
- 通过IDE
Application Configuration File
的. 假设我们将其命名为。打开它并在其部分添加一个新的连接字符串,就像在常规或文件中所做的一样。Models``Add New Item``MyModels.config``configuration``app.config``web.config
(与t4文件同文件夹中)
注意:我们自己写的TextTemplate.tt中的连接字符串ConnectionStringName = “EntityGeneration”; 对应的是MyModels.config中的中的name
最后
以上就是内向山水为你收集整理的使用T4模板根据数据库生成model层的全部内容,希望文章能够帮你解决使用T4模板根据数据库生成model层所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复