t4模板怎么用.docx

上传人:b****8 文档编号:29328342 上传时间:2023-07-22 格式:DOCX 页数:10 大小:17.43KB
下载 相关 举报
t4模板怎么用.docx_第1页
第1页 / 共10页
t4模板怎么用.docx_第2页
第2页 / 共10页
t4模板怎么用.docx_第3页
第3页 / 共10页
t4模板怎么用.docx_第4页
第4页 / 共10页
t4模板怎么用.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

t4模板怎么用.docx

《t4模板怎么用.docx》由会员分享,可在线阅读,更多相关《t4模板怎么用.docx(10页珍藏版)》请在冰豆网上搜索。

t4模板怎么用.docx

t4模板怎么用

竭诚为您提供优质文档/双击可除

t4模板,怎么用

  篇一:

口语-t4-模板

  tpo-1

  groupthinkisaprocessinwhichindividualmembersofagroupconformtheirideastothegroupconsensuseveniftheresultmaynotbewell.theprofessorinthelectureuseshispersonalexperienceinacomputercompanytoillustratethisprocess.oncehe...

  theprincipleofaudienceeffectsisthatindividuals’performanceisaffectedbytheknowledgethatothersarewatchingthem.theprofessorusesexamplesoftyingshoesandlearningtotypetodemonstratethat

  cognitivedissonanceisakindofmentaldiscomfortpeoplefeelwhentheyexperience

  contradictionsbetweentheiractionsandtheirbeliefs.theprofessoruseshisownexperiencetoillustratethisphenomenon.whenhewas

  篇二:

net程序员不要错过如此强大的t4模板

  在Visualstudio中t4文本模板通常以template指令开头,该指令指定应如何处理模板。

本文将给大家做简单介绍。

  ad:

  功能强大的t4文本模版

  希望您至少能意识到即使有代码自动生成器,但数据库结构变更等因素也会给我们带来不少的麻烦。

这种直接放到项目里.tt文件的好处自然不用多说了。

有特别的业务需求,在.用partial类来实现,免得模板文件自动更新代码时将手写的代码覆盖掉。

t4文本模版到底有什么用?

什么时候用?

  看一下下面这个示例你应该就会明白了:

  新建一个控制台应用程序,删除里面的所有文件,新建一个program.tt的文件,并输入如下内容:

  1.

  2.

  3.  4.stringclassname="program";

  5.#>stringclassname="program";

  6.#>

  7.namespacehelloangel

  8.{

  9.usingsystem;

  10.class

  11.{

  12.staticvoidmain(string[]args)

  13.{

  14.console.writeline("helloangel");

  15.}

  16.}

  17.}

  保存后我们会看到解决方案资源管理器中是这个样式的:

  此时的program.cs文件正是我们的program.tt文件生成的,其内容如下:

  1.namespacehelloangel

  2.{

  3.usingsystem;

  4.classprogram

  5.{

  6.staticvoidmain(string[]args)

  7.{

  8.console.writeline("helloangel");

  9.}

  10.}

  11.}

  看看下面两个指令:

  1.

  2.

  指令中language指定了我们模板运行使用的语言,可以是Vb,或c#,debug声明了是否使用调试,如果用不到调试,可以设置为false.

  指令中extension指定了输出文件的扩展名,encoding指定输出文件的编码方案。

  也就是说,我们可以使用c#语言来写此模板文件中的逻辑,模板将会输出一个与模板文件名相同,扩展名为.cs编码为utf-8的文件。

  这里稍作了解下,接下来看看指令的语法吧:

  指令的语法如下所示:

  1.

  必须将所有特性值放在双引号内。

如果值本身包含引号,则必须使用字符对这些引号进行转义。

  指令通常是模板文件或包含的文件中的第一个元素。

不应将它们放置在代码块内,也不应放置在类功能块之后。

  t4模板指令

    [inherits="templatebaseclass"][culture="code"][compileroptions="options"]#>

  t4参数指令

  

  t4输出指令

  

  t4程序集指令

  

  t4导入指令

  

  t4包含指令

  

  看了上面的指令后,就试着写个模板文件生成一些类来练习一下吧:

  1.

  2.

  3.

  4.  5.listclassnames=

  6.newlist()

  7.{

  8."hello",

  9."test"

  10.};

  11.listcallmethods=newlist();

  12.#>

  13.namespacehelloangel

  14.{

  15.usingsystem;

  16.  17.foreach(stringclassnameinclassnames)

  18.{

  19.callmethods.add(string.Format("{0}.show();",classname));

  20.#>foreach(stringclassnameinclassnames)

  21.{

  22.callmethods.add(string.Format("{0}.show();",classname));

  23.#>

  24.class

  25.{

  26.///

  27.///的注释

  28.///

  29.publicstaticvoidshow()

  30.{

  31.console.writeline("classname:

");

  32.}

  33.}

  34.  35.#>}

  36.#>

  37.classprogram

  38.{

  39.///

  40.///入口方法的注释

  41.///

  42.staticvoidmain(string[]args)

  43.{

  44.  45.foreach(stringcallmethodincallmethods)

  46.{

  47.#>foreach(stringcallmethodincallmethods)

  48.{

  49.#>

  50.//调用

  51.

  52.  53.}

  54.#>}

  55.#>

  56.}

  57.}

  58.}

  我们一般的项目多是分了简单三层,有了上面的一些经验,你应该会想。

要是只写三个类.tt文件,就能自动给我们把整个三层维护好那多令人兴奋啊!

确实,我就是这样做了一个项目给大家分享一下:

  看看现在整个项目成什么样子了:

  这里不止三个项目了。

我加了个unittest的项目,一个adapters的项目,看项目名称不难看出来,unittest项目就是一个测试项目。

而adapters项目呢,是实体适配器项目。

先不管它们了。

  就这么点东西,已经完成三层的架设了,只是还是paramter方式的。

没有对存储过程的支持。

十一如果没有人陪我过的话,我会将对存储过程的支持添加上去。

  建项目的时候建的是.net4的,这里我把它改为.net2.0的了。

不过本人只装有visualstuido20xx,如果您使用的是Visualstudio20xx请您自行将项目文件中的版本号更正,此方法网上有许多。

我就不多啰嗦了。

  篇三:

nFine框架的t4模板

  nFine框架的t4模板

  阅读目录

  1.前言

  2.nFine.domain.entity

  3.nFine.domain.iRepository

  4.nFine.Repository

  5.nFine.mapping

  6.nFine.application

  7.dbhelper.ttinclude

  8.modelauto.ttinclude

  模板在此下载。

  回到顶部

  1.前言

  前段时间在网上看到一个开源框架很好的。

开源:

mVc+eF6+bootstrap开发框架,写代码就是比较比较麻烦,分层比较多,对于我这种偷懒的人就想到了写一个t4模板。

不了解框架的可以先去看一下这个开源的框架。

  一起有5个层,也就是意味着每次数据库添加一张表,就需要写这5个类。

  回到顶部

  2.nFine.domain.entity

  复制代码

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  //------------------------------------------------------------------------------

  //

  //此代码由t4模板自动生成

  //生成时间by枫伶忆

  //对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。

  //qq:

549387177

  //

  //------------------------------------------------------------------------------

    vartablename=config.tablename.Replace("sys_","")+"entity";

  #>

  usingsystem;

  namespacenFine.domain.entity.systemmanage

  {

  ///

  ///

  ///

  publicclass:

ientity>,icreationaudited,ideleteaudited,imodificationaudited

  {

  

  public  

  }

  }

  复制代码

  回到顶部

  3.nFine.domain.iRepository

  复制代码

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  //------------------------------------------------------------------------------

  //

  //此代码由t4模板自动生成

  //生成时间by枫伶忆

  //对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。

  //qq:

549387177

  //

  //------------------------------------------------------------------------------

    vartablename=config.tablename.Replace("sys_","")+"Repository";

  varentity=config.tablename.Replace("sys_","")+"entity";

  #>

  usingnFine.data;

  usingnFine.domain.entity.systemmanage;

  usingsystem;

  usingsystem.collections.generic;

  usingsystem.linq;

  usingsystem.text;

  usingsystem.threading.tasks;

  namespacenFine.domain.iRepository.systemmanage

  {

  ///

  ///

  ///

  publicinterfacei:

iRepositorybase>

  {

  }

  }

  复制代码

  回到顶部

  4.nFine.Repository

  复制代码

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  //------------------------------------------------------------------------------

  //

  //此代码由t4模板自动生成

  //生成时间by枫伶忆

  //对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。

  //qq:

549387177

  //

  //------------------------------------------------------------------------------

    vartablename=config.tablename.Replace("sys_","")+"Repository";

  varentity=config.tablename.Replace("sys_","")+"entity";

  #>

  usingnFine.data;

  usingnFine.domain.entity.systemmanage;

  usingnFine.domain.iRepository.systemmanage;

  usingsystem;

  usingsystem.collections.generic;

  usingsystem.linq;

  usingsystem.text;

  usingsystem.threading.tasks;

  namespacenFine.Repository.systemmanage

  {

  ///

  ///

  ///

  publicclass:

Repositorybase>,i

  {

  }

  }

  复制代码

  回到顶部

  5.nFine.mapping

  复制代码

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  //------------------------------------------------------------------------------

  //

  //此代码由t4模板自动生成

  //生成时间by枫伶忆

  //对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。

  //qq:

549387177

  //

  //------------------------------------------------------------------------------

  #

  vardbtablename=config.tablename;

  vartablename=config.tablename.Replace("sys_","")+"map";

  varentity=config.tablename.Replace("sys_","")+"entity";

  varlist=dbhelper.getdbcolumns(config.connectionstring,

  config.tablename);

  varpk=dbhelper.getprimarykey(list);

  #>

  usingnFine.domain.entity.systemmanage;

  usingsystem.data.entity.modelconfiguration;

  namespacenFine.mapping.systemmanage

  {

  ///

  ///

  ///

  publicclass:

entitytypeconfiguration>

  {

  public()

  {

  this.totable("");

  this.haskey(t=>t.);

  }

  }

  }

  复制代码config.dbdatabase,

  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1