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 10:28]
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//​. Значение по умолчанию - //true//. Можно применять версии метода без параметра isLive , когда stage-версия на сайте используется. +
-  *//​fileName//​ -- имя файла. Файл ищется в папке //​App_Data//​ заданного сайта. Найденный файл загружается и его содержимое возвращается в виде строки,​ при этом оно кэшируется до первого изменения с помощью метода ​[[api:cache#GetCachedFileContents|GetCachedFileContents]]. Если название файла не задано,​ то в папке //​App_Data//​ ищется .map-файл основного контекстного класса. Основной контекстный класс может быть задан на [[developer:linq:db_mapping|уровне сайта]], либо иметь значение по умолчанию - //​QPDataContext//​. Таким образом,​ если всё по умолчанию,​ то ищется файл //​QPDataContext.map//​. ​+
  
 Пример:​ Пример:​
Line 84: Line 74:
 XmlMappingSource map2 = XmlMappingSource.FromXml(Cnn.GetMapFileContents(Cnn.GetSiteId("​Sandbox Net"), "​EventsDataContext.map"​));​ XmlMappingSource map2 = XmlMappingSource.FromXml(Cnn.GetMapFileContents(Cnn.GetSiteId("​Sandbox Net"), "​EventsDataContext.map"​));​
 </​code>​ </​code>​
 +
  
 ===== Cтатические свойства контекстного класса ===== ===== Cтатические свойства контекстного класса =====
developer/linq/context.1304666891.txt.gz · Last modified: 2011/05/06 10:28 by celutp