|
這個(gè)工具,是在一個(gè)項(xiàng)目中提取出來(lái)的,現(xiàn)在免費(fèi)提供給大家使用。
本文介紹的 Linq to SQL T4 代碼生成器有如下特點(diǎn):
1、支持 dbml 文件。能夠訪問(wèn) dbml 設(shè)計(jì)器中的對(duì)象。
2、可能通多修改模版來(lái)生成代碼。
3、可以生成多個(gè)文件。比如:一個(gè)類一個(gè)文件。
準(zhǔn)備:
1、T4 代碼編輯器(goole 即可)。盡管不是必須,但是為了方便代碼的編輯,還是建議安裝一個(gè)。
2、下載安裝 Decode_VS2008 (必須)。
開(kāi)始:
1、創(chuàng)建一個(gè)項(xiàng)目。然后運(yùn)行 LicenseFileGenerator.exe 生成一個(gè)名為 deco.lic 的授權(quán)文件,并添加到項(xiàng)目中。
其中 Assembly 為項(xiàng)目生成文件的名稱,Company 為項(xiàng)目中的公司名稱,如果沒(méi)有,可以不填。在這里生的 assembly 文件名為 ConsoleApplication1.exe,因此要 Assembly 文件本框中填入的是 ConsoleApplication1.exe ,而并非 ConsoleApplication1,公司名稱為空,因此可以不填。
點(diǎn)擊 Generate 按鈕后在當(dāng)前路徑中生成一個(gè) deco.lic 文件。請(qǐng)把該文件添加到項(xiàng)目中去。
2、創(chuàng)建名為 Northwind.dbml 的文件,并禁用原來(lái)的代碼生成器。選項(xiàng) Northwind.dbml 文件。把 Custom Tool 選項(xiàng)清空(默認(rèn)為 MSLinqToSQLGenerator)。
3、創(chuàng)建一個(gè)名為 Northwind.tt 的文件。打開(kāi) Northwind.tt 文件進(jìn)行編輯。然后按保存生成代碼。
內(nèi)容如下:
<#@ template inherits="ModelingTextTransformation" language="C#" debug="true" hostspecific="True"#>
<#@ QuickCode processor="DbmlProcessor" requires="ModelFile='Northwind.dbml'"#>
<#@ output extension=".cs" #>
<#@ import namespace = "System.Text.RegularExpressions" #>
using ALinq;
using ALinq.Mapping;
namespace <#= DataContext.ContextNamespace #>
{
public partial class <#= DataContext.Name #> : ALinq.DataContext
{
public <#= DataContext.Name #>(string connection) :
base(connection)
{
}
<# foreach(ITable table in DataContext.Tables){ #>
public Table<<#= table.Type.Name #>> <#= table.Member #>
{
get
{
return this.GetTable<<#= table.Type.Name #>>();
}
}
<# } #>
}
}
NET技術(shù):Linq to SQL T4 代碼生成器 (-)訪問(wèn) DataContext 對(duì)象,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。