Flexberry ORM 8.0.0-beta01
Класс ICSSoft.STORMNET.Business.SQLDataServiceabstract

Data service for SQL storage. Подробнее...

Граф наследования:ICSSoft.STORMNET.Business.SQLDataService:
NewPlatform.Flexberry.ORM.IAsyncDataService ICSSoft.STORMNET.Business.IDataService NewPlatform.Flexberry.ORM.IAsyncDataService ICSSoft.STORMNET.Business.IDataService ICSSoft.STORMNET.Business.IDataService ICSSoft.STORMNET.Business.IDataService NewPlatform.Flexberry.ORM.IAsyncDataService ICSSoft.STORMNET.Business.MSSQLDataService ICSSoft.STORMNET.Business.OracleDataService ICSSoft.STORMNET.Business.PostgresDataService ICSSoft.STORMNET.Business.DRDataService

Открытые члены

abstract DbConnection GetDbConnection ()
 Метод должен возвращать соединение DbConnection. Подробнее...
 
virtual async Task< int > GetObjectsCountAsync (LoadingCustomizationStruct customizationStruct)
 Получение количества объектов удовлетворяющих запросу.
 
virtual async Task LoadObjectAsync (DataObject dataObject, View dataObjectView=null, bool clearDataObject=true, bool checkExistingObject=true, DataObjectCache dataObjectCache=null)
 Загрузка одного объекта данных (атрибуты для dataObject загружаются в процессе работы).
 
virtual async Task LoadObjectByExtConnAsync (DataObject dataObject, View dataObjectView, bool clearDataObject, bool checkExistingObject, DataObjectCache dataObjectCache, DbTransactionWrapperAsync dbTransactionWrapperAsync)
 Асинхронная загрузка объекта с указанным объектом подключения в рамках указанной транзакции. Подробнее...
 
virtual async Task LoadObjectsAsync (DataObject[] dataObjects, View dataObjectView=null, bool clearDataObject=true, DataObjectCache dataObjectCache=null)
 Загрузка нескольких объектов данных.
 
virtual async Task< DataObject[]> LoadObjectsAsync (LoadingCustomizationStruct customizationStruct, DataObjectCache dataObjectCache=null)
 Загрузка нескольких объектов данных (с помощью LCS).
 
virtual async Task< DataObject[]> LoadObjectsByExtConnAsync (LoadingCustomizationStruct customizationStruct, DataObjectCache dataObjectCache, DbTransactionWrapperAsync dbTransactionWrapperAsync)
 Асинхронная загрузка объектов с использованием указанного объекта подключения и транзакции. Подробнее...
 
virtual Task< DataObject[]> LoadObjectsAsync (View dataObjectView, DataObjectCache dataObjectCache=null)
 Загрузка нескольких объектов данных (с помощью представления).
 
virtual Task UpdateObjectAsync (DataObject dataObject, bool alwaysThrowException=false, DataObjectCache dataObjectCache=null)
 Сохранение объекта данных.
 
virtual string FunctionToSql (SQLWhereLanguageDef sqlLangDef, Function function, delegateConvertValueToQueryValueString convertValue, delegatePutIdentifierToBrackets convertIdentifier)
 Преобразовать значение в SQL строку. Подробнее...
 
Guid GetInstanceId ()
 Ключ инстанции сервиса. Подробнее...
 
abstract System.Data.IDbConnection GetConnection ()
 Вернуть объект System.Data.IDbConnection. Подробнее...
 
virtual int GetObjectsCount (LoadingCustomizationStruct customizationStruct)
 Возвращает количество объектов удовлетворяющих запросу. Подробнее...
 
int GetObjectIndex (LoadingCustomizationStruct lcs, FunctionalLanguage.Function limitFunction)
 Возвращает индекс первого объекта, встретившегося в массиве, при загрузке по указанному lcs. Объекты задаются через lf. Подробнее...
 
int[] GetObjectIndexes (LoadingCustomizationStruct lcs, FunctionalLanguage.Function limitFunction)
 Возвращает индексы объектов, встретившихся в массиве, при загрузке по указанному lcs. Объекты задаются через lf. Подробнее...
 
virtual IDictionary< int, string > GetObjectIndexesWithPks (LoadingCustomizationStruct lcs, FunctionalLanguage.Function limitFunction, int? maxResults=null)
 Возвращает индексы и ключи объектов, встретившихся в массиве, при загрузке по указанному lcs. Объекты задаются через lf. Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.DataObject dobject, bool clearDataObject, bool checkExistingObject, DataObjectCache dataObjectCache)
 Загрузка одного объекта данных.
 
virtual void LoadObject (string dataObjectViewName, ICSSoft.STORMNET.DataObject dobject, bool clearDataObject, bool checkExistingObject, DataObjectCache dataObjectCache)
 Загрузка одного объекта данных.
 
virtual void LoadObject (ICSSoft.STORMNET.View dataObjectView, ICSSoft.STORMNET.DataObject dobject, DataObjectCache dataObjectCache)
 Загрузка одного объекта данных.
 
virtual void LoadObjectByExtConn (View dataObjectView, DataObject dobject, bool сlearDataObject, bool сheckExistingObject, DataObjectCache dataObjectCache, IDbConnection connection, IDbTransaction transaction)
 Загрузка объекта с указанной коннекцией в рамках указанной транзакции (с помощью DbTransactionWrapper). Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.View dataObjectView, ICSSoft.STORMNET.DataObject dataObject, bool clearDataObject, bool checkExistingObject, DataObjectCache dataObjectCache)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObject (string dataObjectViewName, ICSSoft.STORMNET.DataObject dobject, DataObjectCache dataObjectCache)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.DataObject dobject, DataObjectCache dataObjectCache)
 Загрузка одного объекта данных. Подробнее...
 
string[] GetPropertiesInExpression (string expression, string namespacewithpoint)
 
virtual string GenerateSQLSelect (LoadingCustomizationStruct customizationStruct, bool ForReadValues, out STORMDO.Business.StorageStructForView[] StorageStruct, bool Optimized)
 получить запрос на вычитку данных. Подробнее...
 
virtual void GenerateSQLRowNumber (LoadingCustomizationStruct customizationStruct, ref string resQuery, string orderByExpr)
 
virtual string GenerateSQLSelect (LoadingCustomizationStruct customizationStruct, bool Optimized)
 получить запрос на вычитку данных. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (LoadingCustomizationStruct customizationStruct, DataObjectCache dataObjectCache)
 Загрузка объектов данных. Подробнее...
 
virtual void LoadObjects (ICSSoft.STORMNET.DataObject[] dataObjects, ICSSoft.STORMNET.View dataObjectView, bool clearDataObject, DataObjectCache dataObjectCache)
 Загрузка объектов данных. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (ICSSoft.STORMNET.View dataObjectView)
 Загрузка объектов данных по представлению. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (ICSSoft.STORMNET.View[] dataObjectViews)
 Загрузка объектов данных по массиву представлений. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (LoadingCustomizationStruct[] customizationStructs)
 Загрузка объектов данных по массиву структур. Подробнее...
 
virtual DataObject[] LoadObjectsByExtConn (LoadingCustomizationStruct customizationStruct, ref object state, DataObjectCache dataObjectCache, IDbConnection connection, IDbTransaction transaction=null)
 Загрузка объектов с использованием указанной коннекции и транзакции. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (LoadingCustomizationStruct customizationStruct, ref object state, DataObjectCache dataObjectCache)
 Загрузка объектов данных. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (ICSSoft.STORMNET.View dataObjectView, ChangeViewForTypeDelegate changeViewForTypeDelegate)
 Загрузка объектов данных по представлению. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (ICSSoft.STORMNET.View[] dataObjectViews, ChangeViewForTypeDelegate changeViewForTypeDelegate)
 Загрузка объектов данных по массиву представлений. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (LoadingCustomizationStruct[] customizationStructs, ChangeViewForTypeDelegate changeViewForTypeDelegate)
 Загрузка объектов данных по массиву структур. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (ref object state, DataObjectCache dataObjectCache)
 Загрузка объектов данных. Подробнее...
 
virtual object[][] ReadFirstByExtConn (string query, ref object state, int loadingBufferSize, IDbConnection connection, IDbTransaction transaction)
 Выполнить вычитку. Подробнее...
 
virtual object[][] ReadFirstByExtConn (string query, ref object state, int loadingBufferSize, DbTransactionWrapper dbTransactionWrapper)
 Выполнить вычитку. Подробнее...
 
virtual object[][] ReadFirst (string query, ref object state, int loadingBufferSize)
 Вычитка первой партии данных. Подробнее...
 
virtual object[][] ReadNextByExtConn (ref object State, int LoadingBufferSize)
 
virtual object[][] ReadNext (ref object state, int loadingBufferSize)
 Вычитка следующей порции данных. Подробнее...
 
virtual int ExecuteNonQuery (string query)
 Выполнить запрос. Подробнее...
 
virtual void GetLeftJoinExpression (string subTable, string subTableAlias, string parentAliasWithKey, string subTableKey, string subJoins, string baseOutline, out string FromPart, out string WherePart)
 получить LeftJoin выражение. Подробнее...
 
virtual void GetInnerJoinExpression (string subTable, string subTableAlias, string parentAliasWithKey, string subTableKey, string subJoins, string baseOutline, out string FromPart, out string WherePart)
 получить InnerJoin выражение. Подробнее...
 
virtual string GetTableStorageExpression (string tableName, bool onJoin)
 Получить выражения для обращения к таблице. Подробнее...
 
virtual string GetTableModifierPrefix (string tableName, bool onJoin)
 Получить префикс для обращения к таблице. Подробнее...
 
virtual string GetTableModifierSuffix (string tableName, bool onJoin)
 Получить суффикс для обращения к таблице. Подробнее...
 
virtual string GetJoinTableModifierExpression ()
 Вернуть модификатор для обращения к таблице (напр WITH (NOLOCK)) Можно перегрузить этот метод в сервисе данных-наследнике для возврата соответствующего своего модификатора. Базовый SQLDataService возвращает пустую строку. Подробнее...
 
virtual string GetINExpression (params string[] identifiers)
 Вернуть in выражение для where. Подробнее...
 
virtual string GetIfNullExpression (params string[] identifiers)
 Вернуть ifnull выражение. Подробнее...
 
virtual string PutIdentifierIntoBrackets (string identifier)
 Офромить идентификатор. Подробнее...
 
virtual void CreateJoins (STORMDO.Business.StorageStructForView.PropSource source, string parentAlias, int index, System.Collections.ArrayList keysandtypes, string baseOutline, out int joinscount, out string FromPart, out string WherePart)
 создать join соединения. Подробнее...
 
virtual void CreateJoins (STORMDO.Business.StorageStructForView.PropSource source, string parentAlias, int index, System.Collections.ArrayList keysandtypes, string baseOutline, out int joinscount, out string FromPart, out string WherePart, bool MustNewGenerate)
 создать join соединения. Подробнее...
 
virtual string TranslateExpression (string expression, string namespacewithpoint, string exteranlnamewithpoint, out bool PointExistInSourceIdentifier)
 преобразовать выражение с учетом. Подробнее...
 
virtual string GetConvertToTypeExpression (Type valType, string value)
 
virtual string GenerateSQLSelectByStorageStruct (STORMDO.Business.StorageStructForView storageStruct, bool addNotMainKeys, bool addMasterFieldsCustomizer, string AddingAdvansedField, int AddingKeysCount, bool SelectTypesIds)
 Получение SQL запроса в следующем формате SELECT atr1,atr2, ... atr3, Key1,Key2, ... key3 FROM fromjoins. Подробнее...
 
virtual string GenerateSQLSelectByStorageStruct (STORMDO.Business.StorageStructForView storageStruct, bool addNotMainKeys, bool addMasterFieldsCustomizer, string AddingAdvansedField, int AddingKeysCount, bool SelectTypesIds, bool MustNewGenerate, bool MustDopSelect)
 
virtual string ConvertSimpleValueToQueryValueString (object value)
 Конвертация константных значений в строки запроса. Подробнее...
 
virtual string ConvertValueToQueryValueString (object value)
 конвертация значений в строки запроса. Подробнее...
 
virtual string ConvertValueToQueryValueString (DataObject dataobject, string propname)
 Преобразование значение свойства в строку для запроса. Подробнее...
 
virtual string LimitFunction2SQLWhere (STORMFunction LimitFunction, STORMDO.Business.StorageStructForView[] StorageStruct, string[] asnameprop, bool MustNewGenerate)
 Преобразование функции. Подробнее...
 
virtual string LimitFunction2SQLWhere (STORMFunction LimitFunction)
 Преобразование функции. Подробнее...
 
virtual ObjectStringDataView[] LoadStringedObjectView (char separator, LoadingCustomizationStruct customizationStruct)
 Загрузка без создания объектов. Подробнее...
 
virtual ObjectStringDataView[] LoadStringedObjectView (char separator, LoadingCustomizationStruct customizationStruct, ref object State)
 Загрузка без создания объектов. Подробнее...
 
virtual object[][] LoadRawValues (LoadingCustomizationStruct customizationStruct)
 Загрузка без создания объектов. Подробнее...
 
virtual ObjectStringDataView[] LoadValues (char separator, LoadingCustomizationStruct customizationStruct)
 
virtual ObjectStringDataView[] LoadStringedObjectView (ref object state)
 
void CompleteLoadStringedObjectView (ref object state)
 Корректное завершения операции порционного чтения LoadStringedObjectView. Подробнее...
 
virtual void UpdateObject (ref ICSSoft.STORMNET.DataObject dobject, DataObjectCache dataObjectCache)
 Обновление объекта данных. Подробнее...
 
virtual void UpdateObject (ref ICSSoft.STORMNET.DataObject dobject, DataObjectCache dataObjectCache, bool alwaysThrowException)
 Обновление объекта данных. Подробнее...
 
virtual void UpdateObject (ICSSoft.STORMNET.DataObject dobject)
 Обновление объекта данных. Подробнее...
 
virtual void UpdateObject (ICSSoft.STORMNET.DataObject dobject, DataObjectCache dataObjectCache)
 Обновление объекта данных. Подробнее...
 
virtual void UpdateObject (ICSSoft.STORMNET.DataObject dobject, bool alwaysThrowException)
 Обновление объекта данных. Подробнее...
 
virtual void GenerateQueriesForUpdateObjects (Dictionary< string, List< string >> deleteQueries, Dictionary< string, List< string >> updateQueries, Dictionary< string, List< string >> updateFirstQueries, Dictionary< string, List< string >> updateLastQueries, Dictionary< string, List< string >> insertQueries, SortedList tableOperations, StringCollection queryOrder, bool checkLoadedProps, ArrayList processingObjects, DataObjectCache dataObjectCache, object dbTransactionWrapper, params ICSSoft.STORMNET.DataObject[] dobjects)
 Генерация запросов для изменения объектов. Подробнее...
 
virtual void GenerateQueriesForUpdateObjects (Dictionary< string, List< string >> deleteQueries, Dictionary< string, List< string >> updateQueries, Dictionary< string, List< string >> updateFirstQueries, Dictionary< string, List< string >> updateLastQueries, Dictionary< string, List< string >> insertQueries, SortedList tableOperations, StringCollection queryOrder, bool checkLoadedProps, ArrayList processingObjects, DataObjectCache dataObjectCache, List< DataObject > auditObjects, object dbTransactionWrapper, params DataObject[] dobjects)
 Генерация запросов для изменения объектов (дополнительно возвращается список объектов, для которых необходимо создание записей аудита). Подробнее...
 
Dictionary< string, List< string > > GenerateDeleteQueries (IEnumerable< KeyValuePair< string, string >> tableLimits)
 Сгенерировать запросы на удаление. Подробнее...
 
virtual void UpdateObjectsOrdered (ref DataObject[] objects, bool alwaysThrowException=true)
 Обновить объекты данных в указанном порядке. Подробнее...
 
virtual void UpdateObjectsByExtConn (ref DataObject[] objects, DataObjectCache dataObjectCache, bool alwaysThrowException, DbTransactionWrapper dbTransactionWrapper)
 Обновить хранилище по объектам (есть параметр, указывающий, всегда ли необходимо взводить ошибку и откатывать транзакцию при неудачном запросе в базу данных). Если он true, всегда взводится ошибка. Иначе, выполнение продолжается. Однако, при этом есть опасность преждевременного окончания транзакции, с переходом для остальных запросов режима транзакционности в autocommit. Проявлением проблемы являются ошибки навроде: The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION. Подробнее...
 
virtual void UpdateObjectsByExtConn (ref DataObject[] objects, DataObjectCache dataObjectCache, bool alwaysThrowException, IDbConnection connection, IDbTransaction transaction)
 Обновить хранилище по объектам (есть параметр, указывающий, всегда ли необходимо взводить ошибку и откатывать транзакцию при неудачном запросе в базу данных). Если он true, всегда взводится ошибка. Иначе, выполнение продолжается. Однако, при этом есть опасность преждевременного окончания транзакции, с переходом для остальных запросов режима транзакционности в autocommit. Проявлением проблемы являются ошибки навроде: The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION. Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.DataObject dobject)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObject (string dataObjectViewName, ICSSoft.STORMNET.DataObject dobject)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.View dataObjectView, ICSSoft.STORMNET.DataObject dobject)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.DataObject dobject, bool clearDataObject, bool checkExistingObject)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObject (string dataObjectViewName, ICSSoft.STORMNET.DataObject dobject, bool clearDataObject, bool checkExistingObject)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.View dataObjectView, ICSSoft.STORMNET.DataObject dobject, bool clearDataObject, bool checkExistingObject)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObjects (ICSSoft.STORMNET.DataObject[] dataobjects, ICSSoft.STORMNET.View dataObjectView, bool clearDataObject)
 Загрузка объектов данных. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (LoadingCustomizationStruct customizationStruct)
 Загрузка объектов данных. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (LoadingCustomizationStruct customizationStruct, ref object State)
 Загрузка объектов данных. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (ref object State)
 Загрузка объектов данных. Подробнее...
 
virtual void UpdateObject (ref ICSSoft.STORMNET.DataObject dobject)
 Обновление объекта данных. Подробнее...
 
virtual void UpdateObject (ref ICSSoft.STORMNET.DataObject dobject, bool alwaysThrowException)
 Обновление объекта данных. Подробнее...
 
virtual object Clone ()
 Создание копии экземпляра сервиса данных. Подробнее...
 
bool IsExpressionContainAttrubuteCheckOnly (string expression)
 Выражение DataServiceExpression содержит только метаинформацию для контроля прав на атрибуты. Подробнее...
 
virtual void UpdateObjects (ref DataObject[] objects, DataObjectCache dataObjectCache, bool alwaysThrowException)
 Обновить хранилище по объектам (есть параметр, указывающий, всегда ли необходимо взводить ошибку и откатывать транзакцию при неудачном запросе в базу данных). Если он true, всегда взводится ошибка. Иначе, выполнение продолжается. Однако, при этом есть опасность преждевременного окончания транзакции, с переходом для остальных запросов режима транзакционности в autocommit. Проявлением проблемы являются ошибки навроде: The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION. Подробнее...
 
virtual void UpdateObjects (ref DataObject[] objects, DataObjectCache dataObjectCache)
 Обновить хранилище по объектам. При ошибках делается попытка возобновления транзакции с другого запроса, т.к. предполагается, что запросы должны быть выполнены в другом порядке. Подробнее...
 
virtual void UpdateObjects (ref DataObject[] objects)
 Обновить хранилище по объектам. Подробнее...
 
virtual void UpdateObjects (ref DataObject[] objects, bool alwaysThrowException)
 Обновить хранилище по объектам. Подробнее...
 
virtual async Task UpdateObjectsAsync (DataObject[] objects, bool alwaysThrowException=false, DataObjectCache dataObjectCache=null)
 Сохранение объектов данных.
 
virtual async Task UpdateObjectsByExtConnAsync (DataObject[] objects, DataObjectCache dataObjectCache, bool alwaysThrowException, DbTransactionWrapperAsync dbTransactionWrapperAsync)
 Сохранение объектов данных. Подробнее...
 
- Открытые члены унаследованные от ICSSoft.STORMNET.Business.IDataService
void UpdateObjects (ref ICSSoft.STORMNET.DataObject[] objects, DataObjectCache dataObjectCache)
 
void UpdateObjects (ref ICSSoft.STORMNET.DataObject[] objects, DataObjectCache dataObjectCache, bool alwaysThrowException)
 
void UpdateObjects (ref ICSSoft.STORMNET.DataObject[] objects)
 
void UpdateObjects (ref ICSSoft.STORMNET.DataObject[] objects, bool alwaysThrowException)
 

Открытые статические члены

static void AccessCheckBeforeUpdate (ISecurityManager securityManager, ArrayList dataObjects)
 Проверка прав пользователя перед изменением объектов (выбрасывает исключение если доступ закрыт). Подробнее...
 

Статические открытые данные

static ChangeCustomizationStringDelegate ChangeCustomizationString = null
 Делегат для смены строки соединения. Подробнее...
 

Защищенные члены

virtual async Task< object[][]> ReadAsync (string query, int loadingBufferSize)
 Асинхронная вычитка данных. Подробнее...
 
virtual async Task< object[][]> ReadByExtConnAsync (string query, int loadingBufferSize, DbTransactionWrapperAsync dbTransactionWrapperAsync)
 Асинхронная вычитка данных. Подробнее...
 
 SQLDataService (ISecurityManager securityManager, IAuditService auditService, IBusinessServerProvider businessServerProvider)
 Initializes a new instance of the SQLDataService class with specified security manager and audit service. Подробнее...
 
 SQLDataService (ISecurityManager securityManager, IAuditService auditService, IBusinessServerProvider businessServerProvider, IConverterToQueryValueString converterToQueryValueString, INotifyUpdateObjects notifierUpdateObjects=null)
 Initializes a new instance of the SQLDataService class with specified security manager, audit service and converter. Подробнее...
 
void prv_AddMasterObjectsToCache (DataObject dataobject, System.Collections.ArrayList arrl, DataObjectCache dataObjectCache)
 
virtual void SecondLoadObject (View dataObjectView, DataObject dataObject, bool checkExistingObject, DataObjectCache dataObjectCache)
 Метод для дочитки объекта данных. Загруженные ранее свойства не затираются, изменённые свойства не затираются. Подменяются поштучно свойства копии данных. TODO: дописать тесты, проверить и сделать публичным. Подробнее...
 
virtual void PrvSecondLoadObject (View dataObjectView, DataObject dataObject, bool checkExistingObject, DataObjectCache dataObjectCache, DataObject dataObjectFromDB)
 Метод для дочитки объекта данных. Загруженные ранее свойства не затираются, изменённые свойства не затираются. Подменяются поштучно свойства копии данных. Подробнее...
 
virtual void GetAlteredPropsWithValues (ICSSoft.STORMNET.DataObject dobject, bool CheckLoadedProps, out ICSSoft.STORMNET.Collections.CaseSensivityStringDictionary propsWithValues, out ICSSoft.STORMNET.DataObject[] detailObjects, out ICSSoft.STORMNET.DataObject[] masterObjects, bool ReturnPropStorageNames)
 Возвращает измененные данные со значениями. Подробнее...
 
virtual void GenerateAuditForAggregators (ArrayList processingObjects, DataObjectCache dataObjectCache, ref List< DataObject > auditObjects, DbTransactionWrapper dbTransactionWrapper=null)
 Сгенерировать объекты для учета аудита агрегаторов обновляемых объектов, если они обновляются отдельно от агрегатора. Подробнее...
 
virtual void CustomizeCommand (System.Data.IDbCommand cmd)
 
virtual IDbTransaction CreateTransaction (IDbConnection connection)
 
virtual async Task< List< DataObject > > GenerateAuditForAggregatorsAsync (ArrayList processingObjects, DataObjectCache dataObjectCache, DbTransactionWrapperAsync dbTransactionWrapper=null)
 Сгенерировать объекты для учета аудита агрегаторов обновляемых объектов, если они обновляются отдельно от агрегатора. Подробнее...
 
virtual void ConvertReadResult (object[][] result, DataObject[] dataObjects, LoadingCustomizationStruct customizationStruct, StorageStructForView[] storageStructs, SortedList allObjectKeys, SortedList readingKeys, bool clearDataObject, DataObjectCache dataObjectCache)
 Конвертировать результат вычитки методов Read/ReadAsync в массив объектов данных. Подробнее...
 
virtual LoadingCustomizationStruct GetCustomizationStruct (DataObject[] dataObjects, View dataObjectView, out SortedList allObjectsKeys, out SortedList readingKeys)
 Сгенерировать LoadingCustomizationStruct - результат представляет собой ограничение "Один из переданных объектов данных". Используется в дальнейшем для генерации SQL. Подробнее...
 

Свойства

StorageTypeEnum StorageType = StorageTypeEnum.SimpleStorage [get, set]
 Тип хранилища. Подробнее...
 
IConverterToQueryValueString ConverterToQueryValueString [get, set]
 An instance of the class responsible for converting values to a string for the SQL query. See IConverterToQueryValueString. Подробнее...
 
INotifyUpdateObjects NotifierUpdateObjects [get, set]
 An instance of the class for custom process updated objects. See INotifyUpdateObjects. Подробнее...
 
abstract DbProviderFactory ProviderFactory [get]
 A factory to create instances of the data source classes. Подробнее...
 
string CustomizationString [get, set]
 Настроичная строка (строка соединения). Подробнее...
 
string CustomizationStringName [get, set]
 Свойство для установки строки соединения по имени. Подробнее...
 
bool DoNotChangeCustomizationString [get, set]
 Не менять строку соединения общим делегатом ChangeCustomizationString. Подробнее...
 
System.Collections.SortedList Types [get]
 Gets the types. Подробнее...
 
IConfigResolver ConfigResolver = new ConfigResolver() [get, set]
 Сервис разрешения строк соединения на основе файла конфигурации приложения. Подробнее...
 
ICurrentUser CurrentUser [get, set]
 Сервис разрешения текущего пользователя. Требуется для корректного разрешения текущего пользователя, который используется в запросах. Подробнее...
 
IBusinessServerProvider BusinessServerProvider [get, protected set]
 Сервис получения бизнес-серверов для обрабатываемых объектов. Подробнее...
 
ISecurityManager SecurityManager [get, protected set]
 
IAuditService AuditService [get]
 
ICSSoft.STORMNET.TypeUsage TypeUsage [get, set]
 
int CommandTimeout [get, set]
 IDbCommand.CommandTimeout кроме установки этого таймаута не забудьте установить флаг UseCommandTimeout. Подробнее...
 
bool UseCommandTimeout [get, set]
 Использовать ли атрибут CommandTimeout (если задан через конфиг, то будет true) по-умолчанию false. Подробнее...
 
- Свойства унаследованные от ICSSoft.STORMNET.Business.IDataService
string CustomizationString [get, set]
 Строка настройки. Подробнее...
 
ICSSoft.STORMNET.TypeUsage TypeUsage [get, set]
 Структура определения ICSSoft.STORMNET.TypeUsage. Подробнее...
 
ISecurityManager SecurityManager [get]
 Менеджер полномочий. Подробнее...
 
IAuditService AuditService [get]
 Текущий сервис аудита. Подробнее...
 

События

OnGenerateSQLSelectEventHandler OnGenerateSQLSelect
 Событие перед генерацией запроса Подробнее...
 
AfterGenerateSQLSelectQueryEventHandler AfterGenerateSQLSelectQuery
 После генерации, но до вычитки Подробнее...
 
static AfterGenerateSQLSelectQueryEventHandler AfterGenerateSQLSelectQueryStatic
 После генерации, но до вычитки, статический эвент (выполняется после обработки в AfterGenerateSQLSelectQuery) Подробнее...
 
BeforeUpdateObjectsEventHandler BeforeUpdateObjects
 Перед выполнением обновления объектов в базе. После отработки бизнес-серверов. Подробнее...
 
AfterUpdateObjectsEventHandler AfterUpdateObjects
 После выполнения обновления объектов в базе. Подробнее...
 
OnCreateCommandEventHandler OnCreateCommand
 

Подробное описание

Data service for SQL storage.

Содержит внутренние вспомогательные методы для работы SQLDataService.

Конструктор(ы)

◆ SQLDataService() [1/2]

ICSSoft.STORMNET.Business.SQLDataService.SQLDataService ( ISecurityManager  securityManager,
IAuditService  auditService,
IBusinessServerProvider  businessServerProvider 
)
inlineprotected

Initializes a new instance of the SQLDataService class with specified security manager and audit service.

Аргументы
securityManagerThe security manager instance.
auditServiceThe audit service.
businessServerProviderThe provider for BusinessServer creation.

◆ SQLDataService() [2/2]

ICSSoft.STORMNET.Business.SQLDataService.SQLDataService ( ISecurityManager  securityManager,
IAuditService  auditService,
IBusinessServerProvider  businessServerProvider,
IConverterToQueryValueString  converterToQueryValueString,
INotifyUpdateObjects  notifierUpdateObjects = null 
)
inlineprotected

Initializes a new instance of the SQLDataService class with specified security manager, audit service and converter.

Аргументы
securityManagerThe security manager instance.
auditServiceThe audit service instance.
businessServerProviderThe provider for BusinessServer creation.
converterToQueryValueStringThe converter instance.
notifierUpdateObjectsAn instance of the class for custom process updated objects.

Методы

◆ AccessCheckBeforeUpdate()

static void ICSSoft.STORMNET.Business.SQLDataService.AccessCheckBeforeUpdate ( ISecurityManager  securityManager,
ArrayList  dataObjects 
)
inlinestatic

Проверка прав пользователя перед изменением объектов (выбрасывает исключение если доступ закрыт).

Аргументы
securityManagerМенеджер полномочий, выполняющий проверку.
dataObjectsИзменённые объекты (проверяются права на изменение этих объектов).

◆ Clone()

virtual object ICSSoft.STORMNET.Business.SQLDataService.Clone ( )
inlinevirtual

Создание копии экземпляра сервиса данных.

Возвращает
Копии экземпляра сервиса данных.

Переопределяется в ICSSoft.STORMNET.Business.OracleDataService.

◆ CompleteLoadStringedObjectView()

void ICSSoft.STORMNET.Business.SQLDataService.CompleteLoadStringedObjectView ( ref object  state)
inline

Корректное завершения операции порционного чтения LoadStringedObjectView.

Аргументы
stateПараметр состояния загрузки (массив объектов).

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ ConvertReadResult()

virtual void ICSSoft.STORMNET.Business.SQLDataService.ConvertReadResult ( object  result[][],
DataObject[]  dataObjects,
LoadingCustomizationStruct  customizationStruct,
StorageStructForView[]  storageStructs,
SortedList  allObjectKeys,
SortedList  readingKeys,
bool  clearDataObject,
DataObjectCache  dataObjectCache 
)
inlineprotectedvirtual

Конвертировать результат вычитки методов Read/ReadAsync в массив объектов данных.

Аргументы
resultРезультат вычитки, который будет сконвертирован.
dataObjectsисходные объекты.
customizationStructнастройка выборки.
storageStructsКоллекция структур для отображения представления в данные.
allObjectKeysВспомогательная структура для дальнейшей вычитки.
readingKeysВспомогательная структура для дальнеишей вычитки.
clearDataObjectочищать ли существующие.
dataObjectCacheКеш.

◆ ConvertSimpleValueToQueryValueString()

virtual string ICSSoft.STORMNET.Business.SQLDataService.ConvertSimpleValueToQueryValueString ( object  value)
inlinevirtual

Конвертация константных значений в строки запроса.

Аргументы
valueЗначение, которое требуется преобразовать в соответствующую в БД строку.
Возвращает
Полученная строка.

Переопределяется в ICSSoft.STORMNET.Business.PostgresDataService, ICSSoft.STORMNET.Business.OracleDataService и ICSSoft.STORMNET.Business.MSSQLDataService.

◆ ConvertValueToQueryValueString() [1/2]

virtual string ICSSoft.STORMNET.Business.SQLDataService.ConvertValueToQueryValueString ( DataObject  dataobject,
string  propname 
)
inlinevirtual

Преобразование значение свойства в строку для запроса.

Аргументы
dataobject
propname
Возвращает

◆ ConvertValueToQueryValueString() [2/2]

virtual string ICSSoft.STORMNET.Business.SQLDataService.ConvertValueToQueryValueString ( object  value)
inlinevirtual

конвертация значений в строки запроса.

Аргументы
value
Возвращает

◆ CreateJoins() [1/2]

virtual void ICSSoft.STORMNET.Business.SQLDataService.CreateJoins ( STORMDO.Business.StorageStructForView.PropSource  source,
string  parentAlias,
int  index,
System.Collections.ArrayList  keysandtypes,
string  baseOutline,
out int  joinscount,
out string  FromPart,
out string  WherePart 
)
inlinevirtual

создать join соединения.

Аргументы
sourceисточник с которого формируется соединение.
parentAliasвышестоящий алиас.
indexиндекс источника.
keysandtypesключи и типы.
baseOutlineсмещение в запросе.
joinscountколичество соединений.
Возвращает

◆ CreateJoins() [2/2]

virtual void ICSSoft.STORMNET.Business.SQLDataService.CreateJoins ( STORMDO.Business.StorageStructForView.PropSource  source,
string  parentAlias,
int  index,
System.Collections.ArrayList  keysandtypes,
string  baseOutline,
out int  joinscount,
out string  FromPart,
out string  WherePart,
bool  MustNewGenerate 
)
inlinevirtual

создать join соединения.

Аргументы
sourceисточник с которого формируется соединение.
parentAliasвышестоящий алиас.
indexиндекс источника.
keysandtypesключи и типы.
baseOutlineсмещение в запросе.
joinscountколичество соединений.
Возвращает

◆ ExecuteNonQuery()

virtual int ICSSoft.STORMNET.Business.SQLDataService.ExecuteNonQuery ( string  query)
inlinevirtual

Выполнить запрос.

Аргументы
querySQL запрос.
Возвращает
количество задетых строк.

◆ FunctionToSql()

virtual string ICSSoft.STORMNET.Business.SQLDataService.FunctionToSql ( SQLWhereLanguageDef  sqlLangDef,
Function  function,
delegateConvertValueToQueryValueString  convertValue,
delegatePutIdentifierToBrackets  convertIdentifier 
)
inlinevirtual

Преобразовать значение в SQL строку.

Аргументы
sqlLangDefЯзык ограничений.
functionФункция.
convertValueделегат для преобразования констант.
convertIdentifierделегат для преобразования идентификаторов.
Возвращает

Замещает ICSSoft.STORMNET.Business.IDataService.

Переопределяется в ICSSoft.STORMNET.Business.PostgresDataService, ICSSoft.STORMNET.Business.OracleDataService и ICSSoft.STORMNET.Business.MSSQLDataService.

◆ GenerateAuditForAggregators()

virtual void ICSSoft.STORMNET.Business.SQLDataService.GenerateAuditForAggregators ( ArrayList  processingObjects,
DataObjectCache  dataObjectCache,
ref List< DataObject >  auditObjects,
DbTransactionWrapper  dbTransactionWrapper = null 
)
inlineprotectedvirtual

Сгенерировать объекты для учета аудита агрегаторов обновляемых объектов, если они обновляются отдельно от агрегатора.

Аргументы
processingObjectsОбъекты, которые необходимо обработать.
dataObjectCacheКэш объектов данных.
auditObjectsСписок объектов, для которых нужно создать записи аудита. Сюда записывается результат работы метода.
dbTransactionWrapperЭкземпляр DbTransactionWrapper.

◆ GenerateAuditForAggregatorsAsync()

virtual async Task<List<DataObject> > ICSSoft.STORMNET.Business.SQLDataService.GenerateAuditForAggregatorsAsync ( ArrayList  processingObjects,
DataObjectCache  dataObjectCache,
DbTransactionWrapperAsync  dbTransactionWrapper = null 
)
inlineprotectedvirtual

Сгенерировать объекты для учета аудита агрегаторов обновляемых объектов, если они обновляются отдельно от агрегатора.

Аргументы
processingObjectsОбъекты, которые необходимо обработать.
dataObjectCacheКэш объектов данных.
dbTransactionWrapperЭкземпляр DbTransactionWrapperAsync.
Возвращает
Task - результат операции содержит объекты данных для подсистемы аудита.

◆ GenerateDeleteQueries()

Dictionary<string, List<string> > ICSSoft.STORMNET.Business.SQLDataService.GenerateDeleteQueries ( IEnumerable< KeyValuePair< string, string >>  tableLimits)
inline

Сгенерировать запросы на удаление.

Аргументы
tableLimitsКлюч - название таблицы. Значение - SQL ограничение на удаляемые записи в этой таблице.
Возвращает
Запросы на удаление. Ключ - название таблицы. Значение - список запросов на удаление для этой таблицы.

◆ GenerateQueriesForUpdateObjects() [1/2]

virtual void ICSSoft.STORMNET.Business.SQLDataService.GenerateQueriesForUpdateObjects ( Dictionary< string, List< string >>  deleteQueries,
Dictionary< string, List< string >>  updateQueries,
Dictionary< string, List< string >>  updateFirstQueries,
Dictionary< string, List< string >>  updateLastQueries,
Dictionary< string, List< string >>  insertQueries,
SortedList  tableOperations,
StringCollection  queryOrder,
bool  checkLoadedProps,
ArrayList  processingObjects,
DataObjectCache  dataObjectCache,
List< DataObject >  auditObjects,
object  dbTransactionWrapper,
params DataObject[]  dobjects 
)
inlinevirtual

Генерация запросов для изменения объектов (дополнительно возвращается список объектов, для которых необходимо создание записей аудита).

Аргументы
deleteQueriesКлюч - название таблицы; значение - список запросов на удаление в этой таблице (выходной параметр).
updateQueriesСгенерированные запросы для изменения (выходной параметр).
updateFirstQueriesСгенерированные запросы для изменения (выходной параметр), выполняемые до остальных запросов.
updateLastQueriesЗапросы для изменения, выполняемые после остальных запросов.
insertQueriesСгенерированные запросы для добавления (выходной параметр).
tableOperationsОперации, которые будут произведены над таблицами (выходной параметр).
queryOrderПорядок исполнения генерируемых запросов, задаваемый именами таблиц (выходной параметр).
checkLoadedPropsПроверять ли загруженность свойств.
processingObjectsТекущие обрабатываемые объекты (то есть объекты, которые данный сервис данных планирует подтвердить в БД в текущей транзакции). Выходной параметр.
dataObjectCacheКэш объектов данных.
auditObjectsСписок объектов, которые необходимо записать в аудит (выходной параметр). Заполняется в том случае, когда передан не null и текущий сервис аудита включен.
dbTransactionWrapperЭкземпляр DbTransactionWrapper или DbTransactionWrapperAsync.
dobjectsОбъекты, для которых генерируются запросы.

◆ GenerateQueriesForUpdateObjects() [2/2]

virtual void ICSSoft.STORMNET.Business.SQLDataService.GenerateQueriesForUpdateObjects ( Dictionary< string, List< string >>  deleteQueries,
Dictionary< string, List< string >>  updateQueries,
Dictionary< string, List< string >>  updateFirstQueries,
Dictionary< string, List< string >>  updateLastQueries,
Dictionary< string, List< string >>  insertQueries,
SortedList  tableOperations,
StringCollection  queryOrder,
bool  checkLoadedProps,
ArrayList  processingObjects,
DataObjectCache  dataObjectCache,
object  dbTransactionWrapper,
params ICSSoft.STORMNET.DataObject[]  dobjects 
)
inlinevirtual

Генерация запросов для изменения объектов.

Аргументы
deleteQueriesЗапросы для удаление.
updateQueriesЗапросы для изменения.
updateFirstQueriesЗапросы для изменения, выполняемые до остальных запросов.
updateLastQueriesЗапросы для изменения, выполняемые после остальных запросов.
insertQueriesЗапросы для добавления.
tableOperationsThe Table Operations.
queryOrderThe Query Order.
checkLoadedPropsПроверять ли загруженность свойств.
processingObjectsThe processing Objects.
dataObjectCacheThe Data Object Cache.
dbTransactionWrapperЭкземпляр DbTransactionWrapper или DbTransactionWrapperAsync.
dobjectsДля чего генерим запросы.

◆ GenerateSQLSelect() [1/2]

virtual string ICSSoft.STORMNET.Business.SQLDataService.GenerateSQLSelect ( LoadingCustomizationStruct  customizationStruct,
bool  ForReadValues,
out STORMDO.Business.StorageStructForView[]  StorageStruct,
bool  Optimized 
)
inlinevirtual

получить запрос на вычитку данных.

Аргументы
customizationStructнастройка выборки.
StorageStructвозвращается соответствующая структура выборки.
Возвращает
запрос.

◆ GenerateSQLSelect() [2/2]

virtual string ICSSoft.STORMNET.Business.SQLDataService.GenerateSQLSelect ( LoadingCustomizationStruct  customizationStruct,
bool  Optimized 
)
inlinevirtual

получить запрос на вычитку данных.

Аргументы
customizationStructнастройка выборки.
Возвращает
запрос.

Переопределяется в ICSSoft.STORMNET.Business.PostgresDataService.

◆ GenerateSQLSelectByStorageStruct()

virtual string ICSSoft.STORMNET.Business.SQLDataService.GenerateSQLSelectByStorageStruct ( STORMDO.Business.StorageStructForView  storageStruct,
bool  addNotMainKeys,
bool  addMasterFieldsCustomizer,
string  AddingAdvansedField,
int  AddingKeysCount,
bool  SelectTypesIds 
)
inlinevirtual

Получение SQL запроса в следующем формате SELECT atr1,atr2, ... atr3, Key1,Key2, ... key3 FROM fromjoins.

Аргументы
storageStructструктура хранилища.
AddingAdvansedFieldдовленные дополнительные свойства.
AddingKeysCountдобавленниые ключи.
addMasterFieldsCustomizer
addNotMainKeys
SelectTypesIds
Возвращает

◆ GetAlteredPropsWithValues()

virtual void ICSSoft.STORMNET.Business.SQLDataService.GetAlteredPropsWithValues ( ICSSoft.STORMNET.DataObject  dobject,
bool  CheckLoadedProps,
out ICSSoft.STORMNET.Collections.CaseSensivityStringDictionary  propsWithValues,
out ICSSoft.STORMNET.DataObject[]  detailObjects,
out ICSSoft.STORMNET.DataObject[]  masterObjects,
bool  ReturnPropStorageNames 
)
inlineprotectedvirtual

Возвращает измененные данные со значениями.

Аргументы
dobjectу кого проверяем.
CheckLoadedPropsпроверять ли загруженность измененных свойств.
propsWithValuesпары свойство-значение.
detailObjectsвычисленные измененные объекты.
ReturnPropStorageNamesвозвращать ли не сами свойства а их хранилища.

◆ GetConnection()

abstract System.Data.IDbConnection ICSSoft.STORMNET.Business.SQLDataService.GetConnection ( )
pure virtual

Вернуть объект System.Data.IDbConnection.

Возвращает
Коннекция к БД.

Замещается в ICSSoft.STORMNET.Business.PostgresDataService, ICSSoft.STORMNET.Business.OracleDataService и ICSSoft.STORMNET.Business.MSSQLDataService.

◆ GetCustomizationStruct()

virtual LoadingCustomizationStruct ICSSoft.STORMNET.Business.SQLDataService.GetCustomizationStruct ( DataObject[]  dataObjects,
View  dataObjectView,
out SortedList  allObjectsKeys,
out SortedList  readingKeys 
)
inlineprotectedvirtual

Сгенерировать LoadingCustomizationStruct - результат представляет собой ограничение "Один из переданных объектов данных". Используется в дальнейшем для генерации SQL.

Аргументы
dataObjectsОбъекты данных, по которым будет генерироваться LoadingCustomizationStruct.
dataObjectViewПредставление, по которому будет генерироваться LoadingCustomizationStruct.
allObjectsKeysВспомогательная структура для дальнейшей вычитки.
readingKeysВспомогательная структура для дальнеишей вычитки.
Возвращает
Итоговое ограничение.

◆ GetDbConnection()

abstract DbConnection ICSSoft.STORMNET.Business.SQLDataService.GetDbConnection ( )
pure virtual

Метод должен возвращать соединение DbConnection.

Возвращает
Соединение DbConnection.

Замещается в ICSSoft.STORMNET.Business.PostgresDataService, ICSSoft.STORMNET.Business.OracleDataService и ICSSoft.STORMNET.Business.MSSQLDataService.

◆ GetIfNullExpression()

virtual string ICSSoft.STORMNET.Business.SQLDataService.GetIfNullExpression ( params string[]  identifiers)
inlinevirtual

Вернуть ifnull выражение.

Аргументы
identifiersидентифткаторы.
Возвращает

Переопределяется в ICSSoft.STORMNET.Business.PostgresDataService, ICSSoft.STORMNET.Business.OracleDataService и ICSSoft.STORMNET.Business.MSSQLDataService.

◆ GetINExpression()

virtual string ICSSoft.STORMNET.Business.SQLDataService.GetINExpression ( params string[]  identifiers)
inlinevirtual

Вернуть in выражение для where.

Аргументы
identifiersидентифткаторы.
Возвращает

◆ GetInnerJoinExpression()

virtual void ICSSoft.STORMNET.Business.SQLDataService.GetInnerJoinExpression ( string  subTable,
string  subTableAlias,
string  parentAliasWithKey,
string  subTableKey,
string  subJoins,
string  baseOutline,
out string  FromPart,
out string  WherePart 
)
inlinevirtual

получить InnerJoin выражение.

Аргументы
subTable
subTableAlias
parentAliasWithKey
subTableKey
subJoins
baseOutline
FromPart
WherePart

◆ GetInstanceId()

Guid ICSSoft.STORMNET.Business.SQLDataService.GetInstanceId ( )
inline

Ключ инстанции сервиса.

Возвращает
Instance key.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ GetJoinTableModifierExpression()

virtual string ICSSoft.STORMNET.Business.SQLDataService.GetJoinTableModifierExpression ( )
inlinevirtual

Вернуть модификатор для обращения к таблице (напр WITH (NOLOCK)) Можно перегрузить этот метод в сервисе данных-наследнике для возврата соответствующего своего модификатора. Базовый SQLDataService возвращает пустую строку.

Возвращает
"".

Переопределяется в ICSSoft.STORMNET.Business.DRDataService.

◆ GetLeftJoinExpression()

virtual void ICSSoft.STORMNET.Business.SQLDataService.GetLeftJoinExpression ( string  subTable,
string  subTableAlias,
string  parentAliasWithKey,
string  subTableKey,
string  subJoins,
string  baseOutline,
out string  FromPart,
out string  WherePart 
)
inlinevirtual

получить LeftJoin выражение.

Аргументы
subTableимя таблицы.
subTableAliasпсевдоним таблицы.
parentAliasWithKey
subTableKey
subJoins
baseOutline
Возвращает

◆ GetObjectIndex()

int ICSSoft.STORMNET.Business.SQLDataService.GetObjectIndex ( LoadingCustomizationStruct  lcs,
FunctionalLanguage.Function  limitFunction 
)
inline

Возвращает индекс первого объекта, встретившегося в массиве, при загрузке по указанному lcs. Объекты задаются через lf.

Аргументы
lcsМассив, в котором ищем.
limitFunctionЧто собственно ищем.
Возвращает
Индекс первого элемента, если он был найден. Иначе -1.

◆ GetObjectIndexes()

int [] ICSSoft.STORMNET.Business.SQLDataService.GetObjectIndexes ( LoadingCustomizationStruct  lcs,
FunctionalLanguage.Function  limitFunction 
)
inline

Возвращает индексы объектов, встретившихся в массиве, при загрузке по указанному lcs. Объекты задаются через lf.

Аргументы
lcsМассив, в котором ищем.
limitFunctionФункция ограничения, определяющая искомые объекты.
Возвращает
Массив индексов найденных объектов. Не возвращает null.

◆ GetObjectIndexesWithPks()

virtual IDictionary<int, string> ICSSoft.STORMNET.Business.SQLDataService.GetObjectIndexesWithPks ( LoadingCustomizationStruct  lcs,
FunctionalLanguage.Function  limitFunction,
int?  maxResults = null 
)
inlinevirtual

Возвращает индексы и ключи объектов, встретившихся в массиве, при загрузке по указанному lcs. Объекты задаются через lf.

Аргументы
lcsМассив, в котором ищем.
limitFunctionФункция ограничения, определяющая искомые объекты.
maxResultsМаксимальное число возвращаемых результатов. Этот параметр не соответствует.
lcs.ReturnTop
, а устанавливает максимальное число искомых объектов, тогда как.
lcs.ReturnTop
ограничивает число объектов, в которых проводится поиск. Если значение не определено (null), то возвращаются все найденные результаты.
Возвращает
Массив индексов найденных объектов начиная с 1. Не возвращает null.

Переопределяется в ICSSoft.STORMNET.Business.PostgresDataService.

◆ GetObjectsCount()

virtual int ICSSoft.STORMNET.Business.SQLDataService.GetObjectsCount ( LoadingCustomizationStruct  customizationStruct)
inlinevirtual

Возвращает количество объектов удовлетворяющих запросу.

Аргументы
customizationStructЧто выбираем.
Возвращает
Количество объектов.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ GetTableModifierPrefix()

virtual string ICSSoft.STORMNET.Business.SQLDataService.GetTableModifierPrefix ( string  tableName,
bool  onJoin 
)
inlinevirtual

Получить префикс для обращения к таблице.

Аргументы
tableNameИмя таблицы.
onJointrue, если имя таблицы требуется для соединения таблиц join.
Возвращает
Префикс-модификатор.

◆ GetTableModifierSuffix()

virtual string ICSSoft.STORMNET.Business.SQLDataService.GetTableModifierSuffix ( string  tableName,
bool  onJoin 
)
inlinevirtual

Получить суффикс для обращения к таблице.

Аргументы
tableNameИмя таблицы.
onJointrue, если имя таблицы требуется для соединения таблиц join.
Возвращает
Суффикс-модификатор.

◆ GetTableStorageExpression()

virtual string ICSSoft.STORMNET.Business.SQLDataService.GetTableStorageExpression ( string  tableName,
bool  onJoin 
)
inlinevirtual

Получить выражения для обращения к таблице.

Аргументы
tableNameИмя таблицы.
onJointrue, если имя таблицы требуется для соединения таблиц join.
Возвращает
Выражение для обращения к таблице.

◆ IsExpressionContainAttrubuteCheckOnly()

bool ICSSoft.STORMNET.Business.SQLDataService.IsExpressionContainAttrubuteCheckOnly ( string  expression)
inline

Выражение DataServiceExpression содержит только метаинформацию для контроля прав на атрибуты.

Аргументы
expressionВыражение DataServiceExpression.
Возвращает
True/False.

◆ LimitFunction2SQLWhere() [1/2]

virtual string ICSSoft.STORMNET.Business.SQLDataService.LimitFunction2SQLWhere ( STORMFunction  LimitFunction)
inlinevirtual

Преобразование функции.

Аргументы
LimitFunction
Возвращает

◆ LimitFunction2SQLWhere() [2/2]

virtual string ICSSoft.STORMNET.Business.SQLDataService.LimitFunction2SQLWhere ( STORMFunction  LimitFunction,
STORMDO.Business.StorageStructForView[]  StorageStruct,
string[]  asnameprop,
bool  MustNewGenerate 
)
inlinevirtual

Преобразование функции.

Аргументы
LimitFunction
Возвращает

◆ LoadObject() [1/9]

virtual void ICSSoft.STORMNET.Business.SQLDataService.LoadObject ( ICSSoft.STORMNET.DataObject  dobject)
inlinevirtual

Загрузка одного объекта данных.

Аргументы
dobjectобъект данных, который требуется загрузить.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObject() [2/9]

virtual void ICSSoft.STORMNET.Business.SQLDataService.LoadObject ( ICSSoft.STORMNET.DataObject  dobject,
bool  clearDataObject,
bool  checkExistingObject 
)
inlinevirtual

Загрузка одного объекта данных.

Аргументы
dobjectобъект данных, который требуется загрузить.
clearDataObjectФлаг, указывающий на необходмость очистки объекта перед вычиткой (DataObject.Clear).
checkExistingObjectпроверять ли существование объекта в хранилище.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObject() [3/9]

virtual void ICSSoft.STORMNET.Business.SQLDataService.LoadObject ( ICSSoft.STORMNET.DataObject  dobject,
DataObjectCache  dataObjectCache 
)
inlinevirtual

Загрузка одного объекта данных.

Аргументы
dobjectобъект данных, который требуется загрузить.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObject() [4/9]

virtual void ICSSoft.STORMNET.Business.SQLDataService.LoadObject ( ICSSoft.STORMNET.View  dataObjectView,
ICSSoft.STORMNET.DataObject  dataObject,
bool  clearDataObject,
bool  checkExistingObject,
DataObjectCache  dataObjectCache 
)
inlinevirtual

Загрузка одного объекта данных.

Аргументы
dataObjectViewпредставление.
dataObjectобъект данных, который требуется загрузить.
clearDataObjectФлаг, указывающий на необходмость очистки объекта перед вычиткой (DataObject.Clear).
checkExistingObjectпроверять ли существование объекта в хранилище.
dataObjectCacheсвой кеш объектов.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObject() [5/9]

virtual void ICSSoft.STORMNET.Business.SQLDataService.LoadObject ( ICSSoft.STORMNET.View  dataObjectView,
ICSSoft.STORMNET.DataObject  dobject 
)
inlinevirtual

Загрузка одного объекта данных.

Аргументы
dataObjectViewпредставление объекта.
dobjectобъект данных, который требуется загрузить.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObject() [6/9]

virtual void ICSSoft.STORMNET.Business.SQLDataService.LoadObject ( ICSSoft.STORMNET.View  dataObjectView,
ICSSoft.STORMNET.DataObject  dobject,
bool  clearDataObject,
bool  checkExistingObject 
)
inlinevirtual

Загрузка одного объекта данных.

Аргументы
dataObjectViewпредставление.
dobjectбъект данных, который требуется загрузить.
clearDataObjectФлаг, указывающий на необходмость очистки объекта перед вычиткой (DataObject.Clear).
checkExistingObjectпроверять ли существование объекта в хранилище.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObject() [7/9]

virtual void ICSSoft.STORMNET.Business.SQLDataService.LoadObject ( string  dataObjectViewName,
ICSSoft.STORMNET.DataObject  dobject 
)
inlinevirtual

Загрузка одного объекта данных.

Аргументы
dataObjectViewNameимя представления объекта.
dobjectобъект данных, который требуется загрузить.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObject() [8/9]

virtual void ICSSoft.STORMNET.Business.SQLDataService.LoadObject ( string  dataObjectViewName,
ICSSoft.STORMNET.DataObject  dobject,
bool  clearDataObject,
bool  checkExistingObject 
)
inlinevirtual

Загрузка одного объекта данных.

Аргументы
dataObjectViewNameнаименование представления.
dobjectбъект данных, который требуется загрузить.
clearDataObjectФлаг, указывающий на необходмость очистки объекта перед вычиткой (DataObject.Clear).
checkExistingObjectпроверять ли существование объекта в хранилище.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObject() [9/9]

virtual void ICSSoft.STORMNET.Business.SQLDataService.LoadObject ( string  dataObjectViewName,
ICSSoft.STORMNET.DataObject  dobject,
DataObjectCache  dataObjectCache 
)
inlinevirtual

Загрузка одного объекта данных.

Аргументы
dataObjectViewNameимя представления объекта.
dobjectобъект данных, который требуется загрузить.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjectByExtConn()

virtual void ICSSoft.STORMNET.Business.SQLDataService.LoadObjectByExtConn ( View  dataObjectView,
DataObject  dobject,
bool  сlearDataObject,
bool  сheckExistingObject,
DataObjectCache  dataObjectCache,
IDbConnection  connection,
IDbTransaction  transaction 
)
inlinevirtual

Загрузка объекта с указанной коннекцией в рамках указанной транзакции (с помощью DbTransactionWrapper).

Аргументы
dataObjectViewПредставление, по которому будет зачитываться объект.
dobjectОбъект, который будет дочитываться/зачитываться.
сlearDataObjectСледует ли при вычитке очистить поля существующего объекта данных.
сheckExistingObjectПроверить существовние встречающихся при вычитке объектов.
dataObjectCacheКэш объектов.
connectionКоннекция, через которую будет происходить вычитка.
transactionТранзакция, в рамках которой будет проходить вычитка.

◆ LoadObjectByExtConnAsync()

virtual async Task ICSSoft.STORMNET.Business.SQLDataService.LoadObjectByExtConnAsync ( DataObject  dataObject,
View  dataObjectView,
bool  clearDataObject,
bool  checkExistingObject,
DataObjectCache  dataObjectCache,
DbTransactionWrapperAsync  dbTransactionWrapperAsync 
)
inlinevirtual

Асинхронная загрузка объекта с указанным объектом подключения в рамках указанной транзакции.

Аргументы
dataObjectОбъект данных, который требуется загрузить.
dataObjectViewПредставление, по которому загружается объект. Если null, будут загружены все атрибуты объекта, без детейлов (см. View.ReadType.OnlyThatObject).
clearDataObjectФлаг, указывающий на необходмость очистки объекта перед вычиткой (DataObject.Clear).
checkExistingObjectВызывать исключение если объекта нет в хранилище.
dataObjectCacheКэш объектов (если null, будет использован временный кеш, созданный внутри метода).
dbTransactionWrapperAsyncСодержит объект подключения и транзакцию, через которые будет происходить вычитка.
Возвращает
Объект Task, представляющий асинхронную операцию.

◆ LoadObjects() [1/14]

virtual void ICSSoft.STORMNET.Business.SQLDataService.LoadObjects ( ICSSoft.STORMNET.DataObject[]  dataobjects,
ICSSoft.STORMNET.View  dataObjectView,
bool  clearDataObject 
)
inlinevirtual

Загрузка объектов данных.

Аргументы
dataobjectsисходные объекты.
dataObjectViewпредставлене.
clearDataObjectФлаг, указывающий на необходмость очистки объекта перед вычиткой (DataObject.Clear).

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjects() [2/14]

virtual void ICSSoft.STORMNET.Business.SQLDataService.LoadObjects ( ICSSoft.STORMNET.DataObject[]  dataObjects,
ICSSoft.STORMNET.View  dataObjectView,
bool  clearDataObject,
DataObjectCache  dataObjectCache 
)
inlinevirtual

Загрузка объектов данных.

Аргументы
dataObjectsисходные объекты.
dataObjectViewпредставлене.
clearDataObjectочищать ли существующие.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjects() [3/14]

virtual ICSSoft.STORMNET.DataObject [] ICSSoft.STORMNET.Business.SQLDataService.LoadObjects ( ICSSoft.STORMNET.View  dataObjectView)
inlinevirtual

Загрузка объектов данных по представлению.

Аргументы
dataObjectViewпредставление.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjects() [4/14]

virtual ICSSoft.STORMNET.DataObject [] ICSSoft.STORMNET.Business.SQLDataService.LoadObjects ( ICSSoft.STORMNET.View  dataObjectView,
ChangeViewForTypeDelegate  changeViewForTypeDelegate 
)
inlinevirtual

Загрузка объектов данных по представлению.

Аргументы
dataObjectViewпредставление.
changeViewForTypeDelegateделегат.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjects() [5/14]

virtual ICSSoft.STORMNET.DataObject [] ICSSoft.STORMNET.Business.SQLDataService.LoadObjects ( ICSSoft.STORMNET.View[]  dataObjectViews)
inlinevirtual

Загрузка объектов данных по массиву представлений.

Аргументы
dataObjectViewsмассив представлений.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjects() [6/14]

virtual ICSSoft.STORMNET.DataObject [] ICSSoft.STORMNET.Business.SQLDataService.LoadObjects ( ICSSoft.STORMNET.View[]  dataObjectViews,
ChangeViewForTypeDelegate  changeViewForTypeDelegate 
)
inlinevirtual

Загрузка объектов данных по массиву представлений.

Аргументы
dataObjectViewsмассив представлений.
changeViewForTypeDelegateделегат.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjects() [7/14]

virtual ICSSoft.STORMNET.DataObject [] ICSSoft.STORMNET.Business.SQLDataService.LoadObjects ( LoadingCustomizationStruct  customizationStruct)
inlinevirtual

Загрузка объектов данных.

Аргументы
customizationStructнастроичная структура для выборкиLoadingCustomizationStruct.
Возвращает
результат запроса.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjects() [8/14]

virtual ICSSoft.STORMNET.DataObject [] ICSSoft.STORMNET.Business.SQLDataService.LoadObjects ( LoadingCustomizationStruct  customizationStruct,
DataObjectCache  dataObjectCache 
)
inlinevirtual

Загрузка объектов данных.

Аргументы
customizationStructнастроичная структура для выборкиLoadingCustomizationStruct.
Возвращает

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjects() [9/14]

virtual ICSSoft.STORMNET.DataObject [] ICSSoft.STORMNET.Business.SQLDataService.LoadObjects ( LoadingCustomizationStruct  customizationStruct,
ref object  State 
)
inlinevirtual

Загрузка объектов данных.

Аргументы
customizationStructнастроичная структура для выборкиLoadingCustomizationStruct.
StateСостояние вычитки( для последующей дочитки ).
Возвращает

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjects() [10/14]

virtual ICSSoft.STORMNET.DataObject [] ICSSoft.STORMNET.Business.SQLDataService.LoadObjects ( LoadingCustomizationStruct  customizationStruct,
ref object  state,
DataObjectCache  dataObjectCache 
)
inlinevirtual

Загрузка объектов данных.

Аргументы
customizationStructнастроичная структура для выборкиLoadingCustomizationStruct.
stateСостояние вычитки (для последующей дочитки).
Возвращает

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjects() [11/14]

virtual ICSSoft.STORMNET.DataObject [] ICSSoft.STORMNET.Business.SQLDataService.LoadObjects ( LoadingCustomizationStruct[]  customizationStructs)
inlinevirtual

Загрузка объектов данных по массиву структур.

Аргументы
customizationStructsмассив структур.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjects() [12/14]

virtual ICSSoft.STORMNET.DataObject [] ICSSoft.STORMNET.Business.SQLDataService.LoadObjects ( LoadingCustomizationStruct[]  customizationStructs,
ChangeViewForTypeDelegate  changeViewForTypeDelegate 
)
inlinevirtual

Загрузка объектов данных по массиву структур.

Аргументы
customizationStructsмассив структур.
changeViewForTypeDelegateделегат.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjects() [13/14]

virtual ICSSoft.STORMNET.DataObject [] ICSSoft.STORMNET.Business.SQLDataService.LoadObjects ( ref object  State)
inlinevirtual

Загрузка объектов данных.

Аргументы
StateСостояние вычитки( для последующей дочитки).
Возвращает

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjects() [14/14]

virtual ICSSoft.STORMNET.DataObject [] ICSSoft.STORMNET.Business.SQLDataService.LoadObjects ( ref object  state,
DataObjectCache  dataObjectCache 
)
inlinevirtual

Загрузка объектов данных.

Аргументы
stateСостояние вычитки (для последующей дочитки).
Возвращает

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadObjectsByExtConn()

virtual DataObject [] ICSSoft.STORMNET.Business.SQLDataService.LoadObjectsByExtConn ( LoadingCustomizationStruct  customizationStruct,
ref object  state,
DataObjectCache  dataObjectCache,
IDbConnection  connection,
IDbTransaction  transaction = null 
)
inlinevirtual

Загрузка объектов с использованием указанной коннекции и транзакции.

Аргументы
customizationStructСтруктура, определяющая, что и как грузить.
stateСостояние вычитки (для последующей дочитки).
dataObjectCacheКэш объектов для вычитки.
connectionКоннекция, через которую будут выполнена вычитка.
transactionТранзакция, в рамках которой будет выполнена вычитка.
Возвращает
Загруженные данные.

◆ LoadObjectsByExtConnAsync()

virtual async Task<DataObject[]> ICSSoft.STORMNET.Business.SQLDataService.LoadObjectsByExtConnAsync ( LoadingCustomizationStruct  customizationStruct,
DataObjectCache  dataObjectCache,
DbTransactionWrapperAsync  dbTransactionWrapperAsync 
)
inlinevirtual

Асинхронная загрузка объектов с использованием указанного объекта подключения и транзакции.

Аргументы
customizationStructСтруктура, определяющая, что и как грузить.
dataObjectCacheКэш объектов для вычитки.
dbTransactionWrapperAsyncОбъект подключения и транзакция, через которые будут выполнена вычитка.
Возвращает
Загруженные данные.

◆ LoadRawValues()

virtual object [][] ICSSoft.STORMNET.Business.SQLDataService.LoadRawValues ( LoadingCustomizationStruct  customizationStruct)
inlinevirtual

Загрузка без создания объектов.

Аргументы
customizationStruct
Возвращает

◆ LoadStringedObjectView() [1/3]

virtual ObjectStringDataView [] ICSSoft.STORMNET.Business.SQLDataService.LoadStringedObjectView ( char  separator,
LoadingCustomizationStruct  customizationStruct 
)
inlinevirtual

Загрузка без создания объектов.

Аргументы
separatorразделитель в строках.
customizationStructнастроичная структура для выборкиLoadingCustomizationStruct.
Возвращает
массив структур ObjectStringDataView.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadStringedObjectView() [2/3]

virtual ObjectStringDataView [] ICSSoft.STORMNET.Business.SQLDataService.LoadStringedObjectView ( char  separator,
LoadingCustomizationStruct  customizationStruct,
ref object  State 
)
inlinevirtual

Загрузка без создания объектов.

Аргументы
separatorразделитель в строках.
customizationStruct
State
Возвращает

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ LoadStringedObjectView() [3/3]

virtual ObjectStringDataView [] ICSSoft.STORMNET.Business.SQLDataService.LoadStringedObjectView ( ref object  state)
inlinevirtual

◆ PrvSecondLoadObject()

virtual void ICSSoft.STORMNET.Business.SQLDataService.PrvSecondLoadObject ( View  dataObjectView,
DataObject  dataObject,
bool  checkExistingObject,
DataObjectCache  dataObjectCache,
DataObject  dataObjectFromDB 
)
inlineprotectedvirtual

Метод для дочитки объекта данных. Загруженные ранее свойства не затираются, изменённые свойства не затираются. Подменяются поштучно свойства копии данных.

Аргументы
dataObjectViewпредставление.
dataObjectбъект данных, который требуется загрузить.
checkExistingObjectпроверять ли существование объекта в хранилище.
dataObjectCache
dataObjectFromDB

◆ PutIdentifierIntoBrackets()

virtual string ICSSoft.STORMNET.Business.SQLDataService.PutIdentifierIntoBrackets ( string  identifier)
inlinevirtual

Офромить идентификатор.

Аргументы
identifierидентификатор.
Возвращает
оформленный идентификатор(например в кавычках).

Переопределяется в ICSSoft.STORMNET.Business.PostgresDataService и ICSSoft.STORMNET.Business.OracleDataService.

◆ ReadAsync()

virtual async Task<object[][]> ICSSoft.STORMNET.Business.SQLDataService.ReadAsync ( string  query,
int  loadingBufferSize 
)
inlineprotectedvirtual

Асинхронная вычитка данных.

Аргументы
queryЗапрос для вычитки.
loadingBufferSizeОграничение на количество строк, которые будут загружены.
Возвращает
Асинхронная операция (возвращает результат вычитки).

◆ ReadByExtConnAsync()

virtual async Task<object[][]> ICSSoft.STORMNET.Business.SQLDataService.ReadByExtConnAsync ( string  query,
int  loadingBufferSize,
DbTransactionWrapperAsync  dbTransactionWrapperAsync 
)
inlineprotectedvirtual

Асинхронная вычитка данных.

Аргументы
queryЗапрос для вычитки.
loadingBufferSizeКоличество строк, которые нужно загрузить в рамках текущей вычитки (используется для повторной дочитки).
dbTransactionWrapperAsyncСодержит соединение и транзакцию, в рамках которых нужно выполнить запрос (если соединение закрыто - оно откроется).
Возвращает
Асинхронная операция (возвращает результат вычитки).

Переопределяется в ICSSoft.STORMNET.Business.PostgresDataService и ICSSoft.STORMNET.Business.OracleDataService.

◆ ReadFirst()

virtual object [][] ICSSoft.STORMNET.Business.SQLDataService.ReadFirst ( string  query,
ref object  state,
int  loadingBufferSize 
)
inlinevirtual

Вычитка первой партии данных.

Аргументы
queryЗапрос для вычитки.
state
loadingBufferSizeКоличество строк, которые нужно загрузить в рамках текущей вычитки (используется для повторной дочитки).
Возвращает

Переопределяется в ICSSoft.STORMNET.Business.PostgresDataService и ICSSoft.STORMNET.Business.OracleDataService.

◆ ReadFirstByExtConn() [1/2]

virtual object [][] ICSSoft.STORMNET.Business.SQLDataService.ReadFirstByExtConn ( string  query,
ref object  state,
int  loadingBufferSize,
DbTransactionWrapper  dbTransactionWrapper 
)
inlinevirtual

Выполнить вычитку.

Аргументы
queryЗапрос, используемый для вычитки.
stateПараметр для дочиток.
loadingBufferSizeКол-во строк, которые нужно загрузить за одну вычитку.
dbTransactionWrapperОбёртка с коннекцией и транзакцией для вычитки.
Возвращает
Результат вычитки.
Исключения
ExecutingQueryExceptionОшибка выполнения запроса.

◆ ReadFirstByExtConn() [2/2]

virtual object [][] ICSSoft.STORMNET.Business.SQLDataService.ReadFirstByExtConn ( string  query,
ref object  state,
int  loadingBufferSize,
IDbConnection  connection,
IDbTransaction  transaction 
)
inlinevirtual

Выполнить вычитку.

Аргументы
queryЗапрос, используемый для вычитки.
stateПараметр для дочиток.
loadingBufferSizeКол-во строк, которые нужно загрузить за одну вычитку.
connectionСоединение, в рамках которого выполняется вычитка.
transactionТранзакция, в рамках которой выполняется вычитка.
Возвращает
Результат вычитки.
Исключения
ExecutingQueryExceptionОшибка выполнения запроса.

Переопределяется в ICSSoft.STORMNET.Business.PostgresDataService и ICSSoft.STORMNET.Business.OracleDataService.

◆ ReadNext()

virtual object [][] ICSSoft.STORMNET.Business.SQLDataService.ReadNext ( ref object  state,
int  loadingBufferSize 
)
inlinevirtual

Вычитка следующей порции данных.

Аргументы
state
loadingBufferSize
Возвращает

◆ SecondLoadObject()

virtual void ICSSoft.STORMNET.Business.SQLDataService.SecondLoadObject ( View  dataObjectView,
DataObject  dataObject,
bool  checkExistingObject,
DataObjectCache  dataObjectCache 
)
inlineprotectedvirtual

Метод для дочитки объекта данных. Загруженные ранее свойства не затираются, изменённые свойства не затираются. Подменяются поштучно свойства копии данных. TODO: дописать тесты, проверить и сделать публичным.

Аргументы
dataObjectViewпредставление.
dataObjectбъект данных, который требуется загрузить.
checkExistingObjectпроверять ли существование объекта в хранилище.
dataObjectCache

◆ TranslateExpression()

virtual string ICSSoft.STORMNET.Business.SQLDataService.TranslateExpression ( string  expression,
string  namespacewithpoint,
string  exteranlnamewithpoint,
out bool  PointExistInSourceIdentifier 
)
inlinevirtual

преобразовать выражение с учетом.

Аргументы
expression
namespacewithpoint
Возвращает

◆ UpdateObject() [1/7]

virtual void ICSSoft.STORMNET.Business.SQLDataService.UpdateObject ( ICSSoft.STORMNET.DataObject  dobject)
inlinevirtual

Обновление объекта данных.

Аргументы
dobjectобъект данных, который требуется обновить.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ UpdateObject() [2/7]

virtual void ICSSoft.STORMNET.Business.SQLDataService.UpdateObject ( ICSSoft.STORMNET.DataObject  dobject,
bool  alwaysThrowException 
)
inlinevirtual

Обновление объекта данных.

Аргументы
dobjectобъект данных, который требуется обновить.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ UpdateObject() [3/7]

virtual void ICSSoft.STORMNET.Business.SQLDataService.UpdateObject ( ICSSoft.STORMNET.DataObject  dobject,
DataObjectCache  dataObjectCache 
)
inlinevirtual

Обновление объекта данных.

Аргументы
dobjectобъект данных, который требуется обновить.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ UpdateObject() [4/7]

virtual void ICSSoft.STORMNET.Business.SQLDataService.UpdateObject ( ref ICSSoft.STORMNET.DataObject  dobject)
inlinevirtual

Обновление объекта данных.

Аргументы
dobjectобъект данных, который требуется обновить.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ UpdateObject() [5/7]

virtual void ICSSoft.STORMNET.Business.SQLDataService.UpdateObject ( ref ICSSoft.STORMNET.DataObject  dobject,
bool  alwaysThrowException 
)
inlinevirtual

Обновление объекта данных.

Аргументы
dobjectобъект данных, который требуется обновить.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ UpdateObject() [6/7]

virtual void ICSSoft.STORMNET.Business.SQLDataService.UpdateObject ( ref ICSSoft.STORMNET.DataObject  dobject,
DataObjectCache  dataObjectCache 
)
inlinevirtual

Обновление объекта данных.

Аргументы
dobjectобъект данных, который требуется обновить.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ UpdateObject() [7/7]

virtual void ICSSoft.STORMNET.Business.SQLDataService.UpdateObject ( ref ICSSoft.STORMNET.DataObject  dobject,
DataObjectCache  dataObjectCache,
bool  alwaysThrowException 
)
inlinevirtual

Обновление объекта данных.

Аргументы
dobjectобъект данных, который требуется обновить.

Замещает ICSSoft.STORMNET.Business.IDataService.

◆ UpdateObjects() [1/4]

virtual void ICSSoft.STORMNET.Business.SQLDataService.UpdateObjects ( ref DataObject[]  objects)
inlinevirtual

Обновить хранилище по объектам.

Аргументы
objectsОбъекты данных для обновления.

◆ UpdateObjects() [2/4]

virtual void ICSSoft.STORMNET.Business.SQLDataService.UpdateObjects ( ref DataObject[]  objects,
bool  alwaysThrowException 
)
inlinevirtual

Обновить хранилище по объектам.

Аргументы
objectsОбъекты данных для обновления.
alwaysThrowExceptionЕсли произошла ошибка в базе данных, не пытаться выполнять других запросов, сразу взводить ошибку и откатывать транзакцию.

◆ UpdateObjects() [3/4]

virtual void ICSSoft.STORMNET.Business.SQLDataService.UpdateObjects ( ref DataObject[]  objects,
DataObjectCache  dataObjectCache 
)
inlinevirtual

Обновить хранилище по объектам. При ошибках делается попытка возобновления транзакции с другого запроса, т.к. предполагается, что запросы должны быть выполнены в другом порядке.

Аргументы
objectsОбъекты данных для обновления.
dataObjectCacheКэш объектов данных.

◆ UpdateObjects() [4/4]

virtual void ICSSoft.STORMNET.Business.SQLDataService.UpdateObjects ( ref DataObject[]  objects,
DataObjectCache  dataObjectCache,
bool  alwaysThrowException 
)
inlinevirtual

Обновить хранилище по объектам (есть параметр, указывающий, всегда ли необходимо взводить ошибку и откатывать транзакцию при неудачном запросе в базу данных). Если он true, всегда взводится ошибка. Иначе, выполнение продолжается. Однако, при этом есть опасность преждевременного окончания транзакции, с переходом для остальных запросов режима транзакционности в autocommit. Проявлением проблемы являются ошибки навроде: The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION.

Аргументы
objectsОбъекты для обновления.
dataObjectCacheКэш объектов данных.
alwaysThrowExceptionЕсли произошла ошибка в базе данных, не пытаться выполнять других запросов, сразу взводить ошибку и откатывать транзакцию.

◆ UpdateObjectsByExtConn() [1/2]

virtual void ICSSoft.STORMNET.Business.SQLDataService.UpdateObjectsByExtConn ( ref DataObject[]  objects,
DataObjectCache  dataObjectCache,
bool  alwaysThrowException,
DbTransactionWrapper  dbTransactionWrapper 
)
inlinevirtual

Обновить хранилище по объектам (есть параметр, указывающий, всегда ли необходимо взводить ошибку и откатывать транзакцию при неудачном запросе в базу данных). Если он true, всегда взводится ошибка. Иначе, выполнение продолжается. Однако, при этом есть опасность преждевременного окончания транзакции, с переходом для остальных запросов режима транзакционности в autocommit. Проявлением проблемы являются ошибки навроде: The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION.

Аргументы
objectsОбъекты для обновления.
dataObjectCacheКеш объектов.
alwaysThrowExceptionЕсли произошла ошибка в базе данных, не пытаться выполнять других запросов, сразу взводить ошибку и откатывать транзакцию.
dbTransactionWrapperЭкземпляр DbTransactionWrapper.

◆ UpdateObjectsByExtConn() [2/2]

virtual void ICSSoft.STORMNET.Business.SQLDataService.UpdateObjectsByExtConn ( ref DataObject[]  objects,
DataObjectCache  dataObjectCache,
bool  alwaysThrowException,
IDbConnection  connection,
IDbTransaction  transaction 
)
inlinevirtual

Обновить хранилище по объектам (есть параметр, указывающий, всегда ли необходимо взводить ошибку и откатывать транзакцию при неудачном запросе в базу данных). Если он true, всегда взводится ошибка. Иначе, выполнение продолжается. Однако, при этом есть опасность преждевременного окончания транзакции, с переходом для остальных запросов режима транзакционности в autocommit. Проявлением проблемы являются ошибки навроде: The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION.

Аргументы
objectsОбъекты для обновления.
dataObjectCacheКеш объектов.
alwaysThrowExceptionЕсли произошла ошибка в базе данных, не пытаться выполнять других запросов, сразу взводить ошибку и откатывать транзакцию.
connectionКоннекция (не забудьте закрыть).
transactionТранзакция (не забудьте завершить).

◆ UpdateObjectsByExtConnAsync()

virtual async Task ICSSoft.STORMNET.Business.SQLDataService.UpdateObjectsByExtConnAsync ( DataObject[]  objects,
DataObjectCache  dataObjectCache,
bool  alwaysThrowException,
DbTransactionWrapperAsync  dbTransactionWrapperAsync 
)
inlinevirtual

Сохранение объектов данных.

Атрибуты loadingState и status у обрабатываемых объектов обновляются в процессе работы.

Аргументы
objectsОбъекты данных, которые требуется обновить.
dataObjectCacheКэш объектов (если null, будет использован временный кеш, созданный внутри метода).
alwaysThrowExceptiontrue - выбрасывать исключение при первой же ошибке. false - при ошибке в одном из запросов, остальные запросы всё равно будут выполнены; выбрасывается только последнее исключение в самом конце.
dbTransactionWrapperAsyncИспользуемые объект подключения и транзакция.
Возвращает
Объект Task, представляющий асинхронную операцию.

◆ UpdateObjectsOrdered()

virtual void ICSSoft.STORMNET.Business.SQLDataService.UpdateObjectsOrdered ( ref DataObject[]  objects,
bool  alwaysThrowException = true 
)
inlinevirtual

Обновить объекты данных в указанном порядке.

Аргументы
objectsThe objects.
alwaysThrowExceptionЕсли произошла ошибка в базе данных, не пытаться выполнять других запросов, сразу взводить ошибку и откатывать транзакцию. По умолчанию true;.

Данные класса

◆ ChangeCustomizationString

ChangeCustomizationStringDelegate ICSSoft.STORMNET.Business.SQLDataService.ChangeCustomizationString = null
static

Делегат для смены строки соединения.

Полный список свойств

◆ BusinessServerProvider

IBusinessServerProvider ICSSoft.STORMNET.Business.SQLDataService.BusinessServerProvider
getprotected set

Сервис получения бизнес-серверов для обрабатываемых объектов.

◆ CommandTimeout

int ICSSoft.STORMNET.Business.SQLDataService.CommandTimeout
getset

IDbCommand.CommandTimeout кроме установки этого таймаута не забудьте установить флаг UseCommandTimeout.

◆ ConfigResolver

IConfigResolver ICSSoft.STORMNET.Business.SQLDataService.ConfigResolver = new ConfigResolver()
getset

Сервис разрешения строк соединения на основе файла конфигурации приложения.

◆ ConverterToQueryValueString

IConverterToQueryValueString ICSSoft.STORMNET.Business.SQLDataService.ConverterToQueryValueString
getset

An instance of the class responsible for converting values to a string for the SQL query. See IConverterToQueryValueString.

◆ CurrentUser

ICurrentUser ICSSoft.STORMNET.Business.SQLDataService.CurrentUser
getset

Сервис разрешения текущего пользователя. Требуется для корректного разрешения текущего пользователя, который используется в запросах.

◆ CustomizationString

string ICSSoft.STORMNET.Business.SQLDataService.CustomizationString
getset

Настроичная строка (строка соединения).

◆ CustomizationStringName

string ICSSoft.STORMNET.Business.SQLDataService.CustomizationStringName
getset

Свойство для установки строки соединения по имени.

◆ DoNotChangeCustomizationString

bool ICSSoft.STORMNET.Business.SQLDataService.DoNotChangeCustomizationString
getset

Не менять строку соединения общим делегатом ChangeCustomizationString.

◆ NotifierUpdateObjects

INotifyUpdateObjects ICSSoft.STORMNET.Business.SQLDataService.NotifierUpdateObjects
getset

An instance of the class for custom process updated objects. See INotifyUpdateObjects.

◆ ProviderFactory

abstract DbProviderFactory ICSSoft.STORMNET.Business.SQLDataService.ProviderFactory
get

A factory to create instances of the data source classes.

◆ StorageType

StorageTypeEnum ICSSoft.STORMNET.Business.SQLDataService.StorageType = StorageTypeEnum.SimpleStorage
getset

Тип хранилища.

◆ Types

System.Collections.SortedList ICSSoft.STORMNET.Business.SQLDataService.Types
getprotected

Gets the types.

◆ TypeUsage

ICSSoft.STORMNET.TypeUsage ICSSoft.STORMNET.Business.SQLDataService.TypeUsage
getset

◆ UseCommandTimeout

bool ICSSoft.STORMNET.Business.SQLDataService.UseCommandTimeout
getset

Использовать ли атрибут CommandTimeout (если задан через конфиг, то будет true) по-умолчанию false.

Cобытия

◆ AfterGenerateSQLSelectQuery

AfterGenerateSQLSelectQueryEventHandler ICSSoft.STORMNET.Business.SQLDataService.AfterGenerateSQLSelectQuery

После генерации, но до вычитки

◆ AfterGenerateSQLSelectQueryStatic

AfterGenerateSQLSelectQueryEventHandler ICSSoft.STORMNET.Business.SQLDataService.AfterGenerateSQLSelectQueryStatic
static

После генерации, но до вычитки, статический эвент (выполняется после обработки в AfterGenerateSQLSelectQuery)

◆ AfterUpdateObjects

AfterUpdateObjectsEventHandler ICSSoft.STORMNET.Business.SQLDataService.AfterUpdateObjects

После выполнения обновления объектов в базе.

◆ BeforeUpdateObjects

BeforeUpdateObjectsEventHandler ICSSoft.STORMNET.Business.SQLDataService.BeforeUpdateObjects

Перед выполнением обновления объектов в базе. После отработки бизнес-серверов.

◆ OnGenerateSQLSelect

OnGenerateSQLSelectEventHandler ICSSoft.STORMNET.Business.SQLDataService.OnGenerateSQLSelect

Событие перед генерацией запроса