User Tools

Site Tools


developer:linq:context

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
developer:linq:context [2011/05/06 13:24]
celutp
developer:linq:context [2012/06/19 10:32] (current)
celutp [Использование XmlMappingSource]
Line 63: Line 63:
   ​   ​
  
-===== Получение источника данных для отображения (MappingSource) ​=====+===== Использование XmlMappingSource ​=====
  
-Источник данных для отображения обычно получают с помощью статического метода ​**XmlMappingSource.FromXml**, в который передается строка с XML-содержимым отображения. Само XML-содержимое можно получить с помощью одного из экземплярных методов класса DBConnector:​ +Источник данных для отображения обычно получают с помощью статического метода ​[[http://​msdn.microsoft.com/​ru-ru/​library/​system.data.linq.mapping.xmlmappingsource.fromxml.aspx|XmlMappingSource.FromXml]], в который передается строка с XML-содержимым отображения. Само XML-содержимое можно получить с помощью одного из экземплярных методов класса DBConnector:​ 
- +  * [[api:dbconnector:​mapping#GetMapFileContents|GetMapFileContents]] 
-<code c#>​string GetDefaultMapFileContents(int site_id, bool isLive)</​code>​ +  * [[api:dbconnector:mapping#​GetDefaultMapFileContents|GetDefaultMapFileContents]]
- +
-<code c#>​string GetMapFileContents(int site_id, bool isLive, string fileName)</​code>​  +
- +
-<code c#>​string GetDefaultMapFileContents(int site_id)</​code>​ +
- +
-<code c#>​string GetMapFileContents(int site_id, string fileName)</​code>​  +
- +
-  *//site_id// -- задает сайт в рамках текущей БД. Для заданного сайта определяется путь к папке //​App_Data//​. +
-  *//isLive// -- определяет live- или stage- версию сайта использовать для формирования пути к папке //​App_Data//​. Если значение isLive не задано пользователем,​ то оно определяется вызовом метода //​CheckIsLive//​ класса //​DBConnector//​. +
-  *//​fileName//​ -- имя файла. Файл ищется в папке //​App_Data//​ заданного сайта. Найденный файл загружается и его содержимое возвращается в виде строки,​ при этом оно кэшируется до первого изменения с помощью метода ​[[api:cache#GetCachedFileContents|GetCachedFileContents]]. Если название файла не задано,​ то в папке //​App_Data//​ ищется .map-файл основного контекстного класса. Основной контекстный класс может быть задан на [[developer:linq:db_mapping|уровне сайта]], либо иметь значение по умолчанию - //​QPDataContext//​. Таким образом,​ если всё по умолчанию,​ то ищется файл //​QPDataContext.map//​. ​+
  
 Пример:​ Пример:​
Line 85: Line 75:
 </​code>​ </​code>​
  
-Экземплярный метод //​CheckIsLive//​ класса //​DBConnector//​ проверяет значение параметра //isLive// в секции //​appSettings//​ файла //​web.config//​. Если значение - false, считается,​ что код выполняется на stage-версии. В любом другом случае,​ включая отсутствие параметра //isLive//, считается,​ что код выполняется на live-версии. 
  
 ===== Cтатические свойства контекстного класса ===== ===== Cтатические свойства контекстного класса =====
developer/linq/context.1304677450.txt.gz · Last modified: 2011/05/06 13:24 by celutp