|
這個工具,是在一個項目中提取出來的,現在免費提供給大家使用。
本文介紹的 Linq to SQL T4 代碼生成器有如下特點:
1、支持 dbml 文件。能夠訪問 dbml 設計器中的對象。
2、可能通多修改模版來生成代碼。
3、可以生成多個文件。比如:一個類一個文件。
準備:
1、T4 代碼編輯器(goole 即可)。盡管不是必須,但是為了方便代碼的編輯,還是建議安裝一個。
2、下載安裝 Decode_VS2008 (必須)。
開始:
1、創建一個項目。然后運行 LicenseFileGenerator.exe 生成一個名為 deco.lic 的授權文件,并添加到項目中。
其中 Assembly 為項目生成文件的名稱,Company 為項目中的公司名稱,如果沒有,可以不填。在這里生的 assembly 文件名為 ConsoleApplication1.exe,因此要 Assembly 文件本框中填入的是 ConsoleApplication1.exe ,而并非 ConsoleApplication1,公司名稱為空,因此可以不填。
點擊 Generate 按鈕后在當前路徑中生成一個 deco.lic 文件。請把該文件添加到項目中去。
2、創建名為 Northwind.dbml 的文件,并禁用原來的代碼生成器。選項 Northwind.dbml 文件。把 Custom Tool 選項清空(默認為 MSLinqToSQLGenerator)。
3、創建一個名為 Northwind.tt 的文件。打開 Northwind.tt 文件進行編輯。然后按保存生成代碼。
內容如下:
<#@ 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技術:Linq to SQL T4 代碼生成器 (-)訪問 DataContext 對象,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。