<#@ template language="C#" hostspecific="true" #> <#@ output extension="cs" #> <#@ assembly name="Microsoft.SqlServer.ConnectionInfo" #> <#@ assembly name="Microsoft.SqlServer.Smo" #> <#@ assembly name="Microsoft.SqlServer.Management.Sdk.Sfc" #> <#@ import namespace="Microsoft.SqlServer.Management.Smo" #> <# // Config variables string serverName = "SERVER_NAME"; string dbName = "DB_NAME"; #> using System; // Right click .tt file "Run Custom Tool" to update partial model. namespace MyApp.Repositories.SqlServer { <# // Iterate over tables and generate procs Server server = new Server(new Microsoft.SqlServer.Management.Common.ServerConnection(serverName, "USER_ID", "PASSWORD")); Database database = new Database(server, dbName); database.Refresh(); foreach (Table table in database.Tables) { table.Refresh(); bool statusExists = false; bool updatedExists = false; bool createdExists = false; foreach (Column column in table.Columns) { if (column.Name == "StatusID") statusExists = true; if (column.Name == "UpdatedAt") updatedExists = true; if (column.Name == "CreatedAt") createdExists = true; } #> public partial class <#= table.Name #> : IDbTable { <# if (!statusExists) { #> [Obsolete("Not available here.")] public int StatusID { get; set; } <# } #> <# if (!updatedExists) { #> [Obsolete("Not available here.")] public DateTime? UpdatedAt { get; set; } <# } #> <# if (!createdExists) { #> [Obsolete("Not available here.")] public DateTime CreatedAt { get; set; } <# } #> } <# } #> }