====== Класс DBConnector ====== Основное применения класса DBConnector - работа с БД из сайтов, созданных не в QP7, а также других типов приложений: десктопных приложений, сервисов и.т.д. ===== Конструкторы ===== public DBConnector(string strConnectionString) В качестве параметра передается строка подключения к БД. public DBConnector() Если строка подключения не задана, значение берется из статического свойства [[#ConnectionString|ConnectionString]] ===== Основные свойства ===== ==== ConnectionString ==== public static string ConnectionString { get; set; } Строка подключения по умолчанию, используемая при создании экземпляров DBConnector, если в конструкторе строка подключения не задана явно. Инициализируется [[developer:web_config|строкой подключения qp_database из конфигурационного файла]]. ==== CustomConnectionString ==== public string CustomConnectionString { get; set; } Строка подключения, специфичная для данного экземпляра DBConnector. Если строка подключения была передана в конструкторе, то она хранится здесь и может быть изменена. ==== IsStage ==== public bool IsStage { get; set; } Параметр, определяющий в каком режиме (live или stage) работает экземпляр класса DBConnector. По умолчанию - false. Это оказывает влияние на следующие методы: * [[api:dbconnector:get_article#GetContentItemLinkQuery|GetContentItemLinkQuery]] и [[api:dbconnector:get_article#GetContentItemLinkIds|GetContentItemLinkIds]] * [[api:dbconnector:notify#SendNotification|SendNotification]] * [[api:dbconnector:mapping#GetMapFileContents|GetMapFileContents]] и [[api:dbconnector:mapping#GetDefaultMapFileContents|GetDefaultMapFileContents]] Если сайт сделан на объектах QP7, то параметр инициализируется в соответствии с режимом, в котором был собран сайт. В противном случае учитывается значение [[developer:web_config#isLive|параметра isLive конфигурационного файла]]. Наконец, параметр может быть задан непосредственно из кода. Если ни из одного источника значение не было получено, то используется значение по умолчанию -- false. ==== CacheData ==== public bool CacheData { get; set; } Определяет, должен ли экземпляр класса DBConnector кэшировать данные, получаемые из БД. Значение по умолчанию - true. Интервалы кэширования задаются в [[developer:web_config|конфигурационном файле]]. Данные могут кэшироваться как локально (в экземпляре), так и в общем кэше [[http://msdn.microsoft.com/ru-ru/library/system.web.httpruntime.cache.aspx|HttpRuntime.Cache]] в зависимости от доступности общего кэша и параметра [[#ForceLocalCache|ForceLocalCache]]. ==== ForceLocalCache ==== public bool ForceLocalCache { get; set; } При установке в true, заставляет экземпляр класса DBConnector принудительно использовать локальный кэш экземпляра вместо общего кэша [[http://msdn.microsoft.com/ru-ru/library/system.web.httpruntime.cache.aspx|HttpRuntime.Cache]]. Если общий кэш недоступен, то вне зависимости от значения данного параметра будет использоваться локальный кэш. Если ''CacheData == false'', то значение данного свойства игнорируется. ==== UpdateManyToMany ==== public bool UpdateManyToMany { get; set; } Показывает, обновлять ли M2M-поля и M2O-поля при создании/обновлении статьи методом [[api:dbconnector:update_article#AddFormToContent|AddFormToContent]]. Значение по умолчанию - true. Используется LINQ-to-SQL классами. ===== Методы ===== * [[api:dbconnector:caching|Кэширование]] * [[api:dbconnector:get_article|Получение данных статей]] * [[api:dbconnector:modify_article|Обновление данных статей]] * [[api:dbconnector:import_article|Массовое создание/изменение статей]] * [[api:dbconnector:sql|Выполнение произвольных SQL-запросов]] * [[api:dbconnector:mapping|Работа с файлом отображения]] * [[api:dbconnector:paths|Физические и виртуальные пути]] * [[api:dbconnector:notify|Отправка уведомлений]] * [[api:dbconnector:other|Вспомогательные методы]]