Light Managers are based on the light ORM framework Dapper. As well as the full managers, they create some higher level of abstraction to the database - but with focus on performance. This results in less flexibility. Not everything is possible with them. Light Managers focus on the core features with the aim to do them very quick.
Please note that currently no async support is present because of a bug in Dapper that automatically closes the connection after each query.
I recently started implementing caching in the light managers, so there is not much support yet.
Full supported Partly implemented Not implemented (yet)
Based on ASP.NET Core's logging provider,
the light managers write logs for showing you more detailled information whats going on inside. To show then, it's required to
set a suffient logging level in appsettings.json
. The full name of the class ({Namespace}.{ClassName}
) is use as key
like this:
"Logging": {
"LogLevel": {
"Default": "warning",
"ULabs.VBulletinEntity.LightManager.VBLightSessionManager": "debug",
"ULabs.VBulletinEntity.Caching.VBCache": "debug"
}
}
This would give you detailled debug logs for the VBLightSessionManager
as well as every caching operations.
Logging isn't implemented in all managers because it make more sense on e.g. a session manager that shows how a session is fetched (or not) like on the user manager, since the latter one couldn't log much usefull information as were already provided by return values.