Using T4 templates in Entity framework
T4 stands for Text template transformation toolkit which is a template-based code generation engine built into Visual Studio. It is available in Visual studio from Visual Studio 2008 and higher version of Visual Studio. T4 engine allows you to generate C#, T-SQL, XML or any other text files by using ASP.NET – ASPX template like syntax. T4 template has .tt extension.
For example, TextTemplate.tt T4 template has the following code:
<#@ template language="C#" #> <#@ assembly name="System.Core" #> <#@ import namespace="System.Text" #> <#@ output extension=".txt" #> <# Write("T4 templates with EF!"); #>
The T4 template processor will transform above T4 template code into a text file having extension .txt by executing the code and processing directives inside.
T4 templates with EF!
![](https://dotnettrickscloud.blob.core.windows.net/img/entityframework/t4.png)
T4 templates with Entity framework
T4 templates in entity framework are used to generate C# or VB entity classes from EDMX files. Visual Studio 2013 or 2012 provides two templates- EntityObject Generator and DBContext Generator for creating C# or VB entity classes. The additional templates are also available for download.
To use one of these templates, right-click on the design surface of an .edmx file and select the "Add Code Generation Item" command as given below-
![](https://dotnettrickscloud.blob.core.windows.net/img/entityframework/t41.png)
Selecting the command will launch a dialog box allowing you to select one of the installed code-generation items, or to search for new items online.
![](https://dotnettrickscloud.blob.core.windows.net/img/entityframework/t42.png)
Selected template will generate the C# or VB code files i.e. entity and context classes as given below.
![](https://dotnettrickscloud.blob.core.windows.net/img/entityframework/t43.png)
What do you think?
I hope you will enjoy the T4 template while working with EF. I would like to have feedback from my blog readers. Your valuable feedback, question, or comments about this article are always welcome.