tools
folder containslinq2db.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 belowcontentFiles
folder contains set of T4 templates, used for scaffoldingcontent
folder contains copy of T4 templates, included into legacy projects (note that legacy project use templates fromcontentFiles
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 fromcontentFiles
in legacy project usingItemGroup
in imported.props
file, as Visual Studio (not MS Build) doesn't support display of importedItemGroup
s
Properties implemented in a way to support redefinition if multiple T4 templates installed.
All T4 properties use LinqToDBT4
name prefix.
LinqToDBT4SharedTools
: defines path totools
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 totools
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 totools
folder with Firebird clientLinqToDBT4MySqlConnectorClientPath
: path totools
folder withMySqlConnector
MySql clientLinqToDBT4OracleManagedClientPath
: path totools
folder withOracle.ManagedDataAccess
Oracle clientLinqToDBT4NpgsqlClientPath
: path totools
folder withNpgsql
PostgreSQL clientLinqToDBT4SQLiteClientPath
: path totools
folder withSystem.Data.SQLite
SQLite clientLinqToDBT4SQLServerClientPath
: path totools
folder withMicrosoft.SqlServer.Types
assembly for SQL Server spatial typesLinqToDBT4SybaseDataActionClientPath
: path totools
folder withAdoNetCore.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 andlinq2db.t4models
nuget which contains support for all databasesLinqToDBT4AccessTemplatesPath
: MS Access T4 templatesLinqToDBT4DB2TemplatesPath
: DB2 T4 templatesLinqToDBT4FirebirdTemplatesPath
: Firebird T4 templatesLinqToDBT4InformixTemplatesPath
: Informix T4 templatesLinqToDBT4MySqlTemplatesPath
: MySql/MariaDB T4 templatesLinqToDBT4OracleTemplatesPath
: Oracle T4 templatesLinqToDBT4PostgreSQLTemplatesPath
: PostgreSQL T4 templatesLinqToDBT4SapHanaTemplatesPath
: SAP HANA T4 templatesLinqToDBT4SqlCeTemplatesPath
: SQL CE T4 templatesLinqToDBT4SQLiteTemplatesPath
: SQLite templatesLinqToDBT4SqlServerTemplatesPath
: SQL Server templatesLinqToDBT4SybaseAseTemplatesPath
: Sybase ASE templates