<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="Microsoft.CSharp" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ assembly name="System.Data" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="System.Data.SqlClient" #>
<#@ import namespace="System.Dynamic" #>
<#@ output extension=".cs" #>
<#
var namespaceName="Reap.DAL.Repositories";
var connectionString = @"data source=xxx;Initial Catalog=xxx;User ID=sa;Password=xx;";
using (var db = new SqlConnection (connectionString))
using (var cmd = db.CreateCommand())
{
db.Open();
var tables= ReadRows (cmd, "SELECT * FROM sys.tables WHERE NAME<>'__MigrationHistory'").ToArray();
#>
using Reap.Models.Models;
using Reap.IDAL.Repositories;
using Reap.DAL.UnitOfWork;
namespace <#=namespaceName#>{
<#
foreach (var table in tables)
{
#>
public class I<#=table.name#>Repository:EFRepositoryBase<<#=table.name#>>,I<#=table.name#>Repository{
}
<#
}
}
#>
}
<#+
static IEnumerable<dynamic> ReadRows (SqlCommand command, string sql)
{
command.CommandText = sql ?? ""; using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
var dyn = new ExpandoObject ();
IDictionary<string, object> dic = dyn; for (var iter = ; iter < reader.FieldCount; ++iter)
{
dic[reader.GetName(iter) ?? ""] = reader.GetValue(iter);
}
yield return dyn;
}
}
}
#>

使用T4模板调用Sqlserver链接生成自己的模板的更多相关文章

  1. 反射实体自动生成EasyUi DataGrid模板

    用EasyUi Datagrid展示数据的时候总是要一下这样一段代码 <table id="dt" class="easyui-datagrid"> ...

  2. 易企CMS模板调用标签列表

    格式化URL formaturl 参数:type (生成URL类型) 可选值:article,product,category,catalog,comment参数:siteurl (生成URL网站地址 ...

  3. JSP利用freemarker生成基于word模板的word文档

    利用freemarker生成基于word模板的word文档 freemarker简介 FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器 ...

  4. 织梦dedecms模板调用标签大全-提高制作模板速度

    关键描述调用标签: ——————————————————————————–模板路径调用标签: {dede:field name=’templeturl’/}—————————————————————— ...

  5. 反射实体自动生成EasyUi DataGrid模板 第二版--附项目源码

    之前写过一篇文章,地址 http://www.cnblogs.com/Bond/p/3469798.html   大概说了下怎么通过反射来自动生成对应EasyUi datagrid的模板,然后贴了很多 ...

  6. 在js内生成PDF文件并下载的功能实现(不调用后端),以及生成pdf时换行的格式不被渲染,word-break:break-all

    在js内生成PDF文件并下载的功能实现(不调用后端),以及生成pdf时换行的格式不被渲染,word-break:break-all 前天来了个新需求, 有一个授权书的文件要点击下载, 需要在前端生成, ...

  7. 帝国CMS调用友情链接多种方法

    今天织梦模板给大家讲解帝国CMS调用友情链接的常见方法: 1.帝国内置标签:phomelink [phomelink]每行显示数,显示总数,操作类型,分类id,是否显示原链接[/phomelink] ...

  8. 数字IC设计入门必备——VIM自定义模板调用与VCS基本仿真操作示例

    一.前言 毕业论文答辩结束,闲下来写篇文章.芯片研发人员都在Linux系统下借助各种EDA工具和代码语言完成工作,因此提高代码开发效率,熟练运用开发工具是十分必要的.本文讲述VIM编辑神器的veril ...

  9. 修改项目生成Gemfile的模板

    修改项目生成Gemfile的模板 gedit $rvm_path/gems/ruby-2.1.5/gems/railties-4.1.8/lib/rails/generators/rails/app/ ...

随机推荐

  1. [RTC]系统时间NTP和RTC同步,Debian的时区配置

    转自:http://www.cnblogs.com/jiu0821/p/5999566.html Debian的时区配置 一. 修改时区 1. 查看当前时区 命令 : "date -R&qu ...

  2. calico集成详解

    一.摘要 ======================================================================================= 包括三项: c ...

  3. http免费升级https 攻略(超简单)

    1.注册沃通SSL免费证书 https://buy.wosign.com/FreeSSL.html 2.验证邮件域名,并下载证书 3.打开IIS,找到服务器证书选择导入,选择下载下来的证书 4.设置网 ...

  4. TIDB介绍 新数据库趋势

    TIDB是什么? TIDB 受谷歌Spanner和F1的论文启发的new sql数据库,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL等特性,同类数据库还 ...

  5. 你真的理解devDependencies和dependencies区别吗?

     版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/achenyuan/article/details/80899783 网上统一的观念是 devDep ...

  6. 卡片式ViewPager,一屏展示多个pager item,设置高度不一致的tabBar

    ViewPager的基本用法不必多说,这都很简单,我们可以在ViewPager中加载一个ImageView,也可以加载一个Fragment,这都是目前非常常见的用法.那么我今天说的是ViewPager ...

  7. Namenode HA原理详解(脑裂)

    转自:http://blog.csdn.net/tantexian/article/details/40109331 Namenode HA原理详解 社区hadoop2.2.0 release版本开始 ...

  8. JAVA内部线程2

    GC Daemon JVM GC Daemon线程是JVM为RMI提供远程分布式GC使用的,GC Daemon线程里面会主动调用System.gc()方法,对服务器进行Full GC. 其初衷是当RM ...

  9. 关于Unity中Cg的基本语法和使用

    Cg是类似于C语言的发展起来的图形编程语言,Cgraphics,它的很多表达式if...else...和C语言非常相像,也和C#非常相像. 由于Shader是写给显卡执行的,所以没有输出语句来调试,很 ...

  10. android学习中遇到的错误

    1.运行项目的时候报错: [2013-12-16 17:59:22 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowExcept ...