All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Due to backward compatibility it is necessary now to initialize manually at start point:
DataServiceProvider.DataService = ds; // ds - DataService. ExternalLangDef.LanguageDef = new ExternalLangDef(ds); // ds - DataService. DetailVariableDef.ViewGenerator = null; // or resolving of interface IViewGenerator.
- Interface
IBusinessServerProvider
. - Public property
IBusinessServerProvider BusinessServerProvider { get; protected set; }
to classSQLDataService
. - Class
NewPlatform.Flexberry.ORM.CurrentUserService.EmptyCurrentUser : ICurrentUser
(a stub for empty user). - Interface
NewPlatform.Flexberry.ORM.CurrentUserService.ICurrentUser
(user credentials). - Help class
UnityServiceProvider
(it helps to organize connection betweenIUnityContainer
andIServiceProvider
for tests). - Dependency injection of
IConfigResolver
throught the property ofSQLDataService
.
- Method
LockService.ClearAllUserLocks
changed to unstatic. - Method
LockService.GetUserName
changed to unstatic. - Data services
MSSQLDataService
,OracleDataService
,PostgresDataService
need initialization of propertyCurrentUser
ifvalue.FunctionDef.StringedView == "CurrentUser"
. - Static class
CurrentUserServiceExtensions
renamed toCurrentUserExtensions
. - Constructor of class
LockService
. - Constructor of class
SQLDataService
(DRDataService
,MSSQLDataService
,OracleDataService
,PostgresDataService
): added dependency injection ofIAuditService
andISecurityManager
throught the constructor ofSQLDataService
. - Constructor of class
XMLFileDataService
. - Constructor of class
AuditService
. - Constructor of class
BusinessServerProvider
.
ExternalLangDef.LanguageDef
(correct way is creation of new instance ofExternalLangDef
with proper DataService).UnityFactory
.DataServiceProvider.DataService
.
- Using of
UnityFactory
at code (there can be used not only Unity but other variant of DI supportingIServiceProvider
interface). - Public properties
Current
,ApplicationMode
and static methodInitAuditService
removed from classAuditService
. - Enum
ICSSoft.STORMNET.Business.Audit.AppMode
. - Class
DataServiceWrapper
. - Public method
CheckAccessToAttribute
from classInformation
. - Class
DirectoryServicesTools
. - Class
ICSSoft.Services.CurrentUser
. - Class
CurrentUserService
. - Class
CurrentWindowsUser
. - Interface
ICSSoft.Services.CurrentUserService.IUser
. - [BREAKING CHANGE] Setting of
STORMAdvLimit.User
at setter ofSTORMAdvLimit.Publish
. - Getting of
CommandTimeout
throught configuration file.
- Upgrade NewPlatform.Flexberry.LogService up to 2.2.1.
- Fixed order of property processing for objects with details and masters of the same type.
- Error on loading with not stored attribute with inheritance.
- Add asyncronous DataService interface.
- Tests on SharpZipLib.
- Tests on memory leakage.
- Upgraded Npgsql version to 3.2.7 (PostgreSQL 14+ support).
- Building under .net6 and .net7.
- Update Microsoft.Spatial up to 7.10.0.
IComparableType
implementation toWebFile
class.- Feature GeoDistance is implemented.
IAuditService
UTC time enable flag as property.- New property
SQLDataService.ProviderFactory
to create the data source objects.
- Upgrade SharpZipLib@1.3.3.
- Upgrade NewPlatform.Flexberry.LogService@2.1.0.
- Resolve hierarchy references for
Created
master only (removed excessUPDATE
). - Update data objects with static properties inherited from DataObject.
- Remove an external context from PutIdentifierIntoBrackets() method implementation in PostgresDataService.
- Fix the return value type of GisExtensions GeoDistance, GeomDistance LINQ gis-functions prototypes.
- Nullable bool isnull limit.
- Fix
ExternalLangDef
concurrency.
- Optimize query (select, update, delete) generation.
- Optimize
Utils.FillRowSetToDataObject
. - Optimize
GetHandler
andSetHandler
usage.
- .NET Standard 2.0 implementation. NuGet package contains
net45
andnetstandard2.0
targets.
- MSSQLDataService, PostgresDataService, OracleDataService in it's own NuGet packages.
ToolXML.DataObject2XMLDocument
usesToolBinarySerializer
for serializeDynamicProperties
.CurrentUserService
support only windows users.DataServiceProvider.IsWebApp
now always returnfalse
.ChangesToSqlBTMonitor
class moved toICSSoft.STORMNET.Business
assembly.DRDataService
class moved toICSSoft.STORMNET.Business.MSSQLDataService
assembly.- Assembly
ExternalLangDef
renamed toICSSoft.STORMNET.Business.ExternalLangDef
. - Assembly
CurrentUserService
renamed toNewPlatform.Flexberry.ORM.CurrentUserService
. - Assembly
UnityFactory
renamed toNewPlatform.Flexberry.ORM.UnityFactory
.
Information.GetPropertyDataFormat
method.CurrentWebHttpUser
class.ServiceContract
forIAudit
,IAuditWcfService
interfaces.RemoteAuditController
class.CurrentUserFromLockService
class.ICSSoft.STORMNET.Business.ODBCDataService
assembly.
ControlProviderAttribute(string)
constructor ignores type loading error.- Multiple concurrency fixes.
- Update data objects with static properties inherited from DataObject.
- IComparableType implementation to WebFile class.
- Delete agregator with not loaded details.
FunctionBuilder
implementsBuildLike(VariableDef, string)
functions.DbTransactionWrapper
class to wrapIDbConnection
andIDbTransaction
.- Interfaces
IConverterToQueryValueString
andIConvertibleToQueryValueString
to control the conversion of objects to a query string. - Interfaces
INotifyUpdateObjects
,INotifyUpdateObject
,INotifyUpdateProperty
andINotifyUpdatePropertyByType
for notify when data is updates. - Support of postgres table suffix and prefix modifiers.
- Differ table modifiers
from
andjoin
expressions. - Property AuditService.DetailedLogEnabled to disable audit log info.
- Interface
IExportStringedObjectViewService
for fast export service based on ObjectStringDataView type.
- ChangesToSqlBTMonitor now split queries by ';'.
- Signatures of the method
GenerateQueriesForUpdateObjects
and its overloads. - Upgraded Npgsql version to 3.2.6.
- Optimize left join with SQLDataService.GenerateSQL methods for some cases.
- Moved group audit from SQLDataService to AuditService.
- Parsing nullable guids with PKHelper.GetKeys method.
- Getting property storage name when resolving circular dependencies.
- Getting Unity container by replace UnityFactory.CreateContainer to UnityFactory.GetContainer.
- Loading details to delete on deleting aggregator object (using single transaction).
- Appending view properties from not stored prop expression.
- Updating empty array via
SQLDataService.UpdateObjects
(connections remain opened). - Updating array with no changes via
SQLDataService.UpdateObjects
(connections remain opened). - Incorrect altered state of masters after loading in some cases.
- Setting LoadingState.Loaded to DataObject after loading.
- Objects updating order if exists cycle in dependencies graph of them.
- DbTransactionWrapper commit and rollback over expired connections.
- Null GetHandler or SetHandler via cache dictionary.
- Rethrowing exception while handling special scenario via UpdateObjects.
- Fix loading __PrimaryKey property of NotStored master.
- Fix InitDataCopy for already loaded details.
- Removed usage of DataServiceProvider.DataService for ExternalLangDef.
- Auditing objects with Unaltered status and Deleted not presented in database.
- Removed memory lock by business server (possible memory leakage).
- Removed caching business server (fix multi-threading).
- Getting new instance of audit data service on every write audit operation.
- Getting inherited business servers.
- Concurrent getting business servers.
- Ordering in PostgresDataService when used RowNumber.
- Simply (Update/Insert style) order for write audit operation.
- Interface
IODataExportService
. Geometry
type support.CheckLoadedProperty
generic extension methods.- Delegate to check compatible property storage types.
PersistUtcDates
property toAuditService
.PKHelper
andFunctionBuilder
utilities.
- [BREAKINGCHANGE] Upgrade
Unity
to 5.x version. - Upgrade
Npgsql
to 3.x version.
- [BREAKINGCHANGE] Support for .NET 3.5 and .NET 4.0 has been dropped - minimal version has been upgraded to .NET 4.5.
- Fix for Init Custom AuditService.
- Fix DataService init.
- Fix PostgresDataService wrong access to short names dictionary in multithreading app.
- Fix support multithreading in View.AddProperty method.
- Fix error for inherited aggregator type with same storage.
- Fix empty file saving in
PostgresDataService
.
- Add support
Microsoft.Spatial.Geography
for Net Framework 4.5. - Add support string conversion to
Microsoft.Spatial.Geography
inInformation
. - Add
PostgresDataService
method for comparing types. - Add support
Nullable<DateTime>
andNullableDateTime
forDateTime
properties (Day, Month, Year, etc.). - Add property for set connection string by name in DataService. Need confugure IConfigResolver in Unity config section
- Add
ICSSoft.STORMNET.TuneStaticViewDelegate
for tune static Views.
- Fix LINQ to LCS when sorting with types convert.
- Fix error when use unsigned types in LINQ expression.
- Fix using
UnityFactory.CreateContainer
method instead ofUnityFactory.GetContainer
. It should increase performance. - Fix update error
Geography
type. - Fix converting LINQ expressions with sorting to custom nullable types.
- Fix sql query sequence for delete hasMany data objects with cyclic associations.
- Remove implicit dependency from
ICSSoft.STORMNET.RightManager
. Now implementation ofISecurityManager
specified via Unity is used instead. - Optimized requests to Postgres if LCS has a populated
RowNumber
property.
Add simply(Update/Insert style) order for write audit operation.
Fix for Init Custom AuditService.
Support for .NET 3.5 and .NET 4.0 has been dropped - minimal version has been upgraded to .NET 4.5.