Generates SQL constants as sql-view from C# class or enum.
For example, for this class:
/// <summary> Роли пользователей </summary>
[SqlConstantContainer(ViewName = "const_user_role_type")]
internal enum UserRoleType
{
/// <summary> Неизвестная роль </summary>
[SqlConstant(ColumnName = "unknown")] Unknown = 0,
/// <summary> Клиент </summary>
[SqlConstant(ColumnName = "client")] Client = 1,
/// <summary> Супер администратор </summary>
[SqlConstant(ColumnName = "super_admin")]
SuperAdmin = 2,
/// <summary> Технический администратор </summary>
[SqlConstant(ColumnName = "technical_admin")]
TechnicalAdmin = 3,
/// <summary> Маркетолог </summary>
[SqlConstant(ColumnName = "marketer")] Marketer = 4,
/// <summary> Тестировщик </summary>
[SqlConstant(ColumnName = "tester")] Tester = 5,
/// <summary> Клиентская поддержка </summary>
[SqlConstant(ColumnName = "client_support")]
ClientSupport = 6,
}
following file will be generated
--autogenerated by SqlConstantsGenerator v1.0.0.0
create view [const_user_role_type]
with schemabinding
as
select
0 as unknown,
1 as client,
2 as super_admin,
3 as technical_admin,
4 as marketer,
5 as tester,
6 as client_support
;
go
- Install package:
Install-Package SqlConstantsGenerator
-
add
SqlConstantProvider
attribute with optional sql view name to class or enum -
build project; new file with sql-view definition will be generated to
GeneratedSqlConstants
folder in project folder
- Output folder for generated files can be customized by setting
SqlConstantsGenerator_DestinationFolder
property in csproj file. - Prefix and postfix sql code can be set via
SqlConstantsGenerator_PrefixSql
andSqlConstantsGenerator_PostfixSql
properties;$viewname$
string in this code will replaced by generated view name.
(see file SqlConstantsGenerator.Tools\SqlConstantsGenerator.props
file in sample DbClassesWithCustomSqlFolder project)