使用T4模板根据数据库生成model层

11 篇文章 0 订阅
1 篇文章 0 订阅

使用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
  • 通过IDEApplication Configuration File的. 假设我们将其命名为。打开它并在其部分添加一个新的连接字符串,就像在常规或文件中所做的一样。Models``Add New Item``MyModels.config``configuration``app.config``web.config(与t4文件同文件夹中)

注意:我们自己写的TextTemplate.tt中的连接字符串ConnectionStringName = “EntityGeneration”; 对应的是MyModels.config中的中的name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值