Skip to content

Latest commit

 

History

History

NuGet

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

T4 nugets structure

  • tools folder contains linq2db.dll and, optionally, provider assemblies. Assemblies should target .net framework, as they run under .net framework x86 T4 host in Visual Studio (what about Rider?)
  • build folder contains .props file, included into user's project. It defines MSBuild properties, needed for T4 templates preprocessor. See list of properties below
  • contentFiles folder contains set of T4 templates, used for scaffolding
  • content folder contains copy of T4 templates, included into legacy projects (note that legacy project use templates from contentFiles for scaffolding). The only reason we have this folder with copy of templates is to make templates visible to user from legacy project. Unfortunately we cannot show templates from contentFiles in legacy project using ItemGroup in imported .props file, as Visual Studio (not MS Build) doesn't support display of imported ItemGroups

MS Build Properties

Properties implemented in a way to support redefinition if multiple T4 templates installed. All T4 properties use LinqToDBT4 name prefix.

  • LinqToDBT4SharedTools: defines path to tools folder and must be used only for assemblies, included into all T4 nugets: linq2db.dll, Humanizer.dll. Defined by every T4 nuget, so last one will be used.
  • LinqToDBT4<PROVIDER>Path: defines path to tools folder in nuget cache for T4 template, that use this provider to read database schema. Could be defined by multiple T4 nugets and we will use last one imported (we don't care which one). List of such properties:
    • LinqToDBT4FirebirdClientPath: path to tools folder with Firebird client
    • LinqToDBT4MySqlConnectorClientPath: path to tools folder with MySqlConnector MySql client
    • LinqToDBT4OracleManagedClientPath: path to tools folder with Oracle.ManagedDataAccess Oracle client
    • LinqToDBT4NpgsqlClientPath: path to tools folder with Npgsql PostgreSQL client
    • LinqToDBT4SQLiteClientPath: path to tools folder with System.Data.SQLite SQLite client
    • LinqToDBT4SQLServerClientPath: path to tools folder with Microsoft.SqlServer.Types assembly for SQL Server spatial types
    • LinqToDBT4SybaseDataActionClientPath: path to tools folder with AdoNetCore.AseClient Sybase ASE client
    • all other databases require native client installed or be a part of framework
  • LinqToDBT4<DB>TemplatesPath: defines path to folder with T4 templates for specific database. Also could be refedined if multiple T4 nugets with same database support installed, e.g. linq2db.<DB> nuget and linq2db.t4models nuget which contains support for all databases
    • LinqToDBT4AccessTemplatesPath: MS Access T4 templates
    • LinqToDBT4DB2TemplatesPath: DB2 T4 templates
    • LinqToDBT4FirebirdTemplatesPath: Firebird T4 templates
    • LinqToDBT4InformixTemplatesPath: Informix T4 templates
    • LinqToDBT4MySqlTemplatesPath: MySql/MariaDB T4 templates
    • LinqToDBT4OracleTemplatesPath: Oracle T4 templates
    • LinqToDBT4PostgreSQLTemplatesPath: PostgreSQL T4 templates
    • LinqToDBT4SapHanaTemplatesPath: SAP HANA T4 templates
    • LinqToDBT4SqlCeTemplatesPath: SQL CE T4 templates
    • LinqToDBT4SQLiteTemplatesPath: SQLite templates
    • LinqToDBT4SqlServerTemplatesPath: SQL Server templates
    • LinqToDBT4SybaseAseTemplatesPath: Sybase ASE templates