User Tools

Site Tools


developer:linq:components

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
developer:linq:components [2011/05/06 16:58]
celutp
developer:linq:components [2011/05/06 17:00] (current)
celutp
Line 1: Line 1:
-====== ​Создание компонентов ======+====== ​Использование ​LINQ-to-SQL классов при создании ​компонентов ======
  
-Под компонентами в данном случае понимаются небольшие части функционала,​ которые могут быть повторно использованы. Каждая из этих частей обычно использует в качестве источника данных несколько связанных контентов и соответственно может быть построена на основе группы LINQ-to-SQL классов,​ которые генерируются для этих контентов. Поскольку компоненты должны быть переносимыми, ​то они должны создаваться только при включенной опции **Выполнять генерацию,​ независимую от БД** (**Proceed DB-independent generation**) на [[developer:​linq:​db_mapping|уровне сайта]].+Под компонентами в данном случае понимаются небольшие части функционала,​ которые могут быть повторно использованы. Каждая из этих частей обычно использует в качестве источника данных несколько связанных контентов и соответственно может быть построена на основе группы LINQ-to-SQL классов,​ которые генерируются для этих контентов. Поскольку ​LINQ-to-SQL классы,​ используемые в компонентах, должны быть переносимыми,​ их нужно создавать только при включенной опции **Выполнять генерацию,​ независимую от БД** (**Proceed DB-independent generation**) на [[developer:​linq:​db_mapping|уровне сайта]].
  
 Для выделения нескольких сущностных классов в одну группу нужно у нескольких контентов задать одинаковое значение в поле **Имя дополнительного контекстного класса** (**Additional context class name**). В качестве значения нужно указывать полное имя класса,​ с учетом пространств имен. Таким образом,​ один и тот же контент может участвовать в двух контекстных классах:​ основном,​ задаваемом на [[developer:​linq:​db_mapping|уровне сайта]] и дополнительном,​ задаваемом на [[developer:​linq:​db_mapping|уровне контентов]]. Пространства имен для всех генерируемых контекстных классов (как основного,​ так и дополнительных) для предотвращения конфликта имен должны различаться. Для выделения нескольких сущностных классов в одну группу нужно у нескольких контентов задать одинаковое значение в поле **Имя дополнительного контекстного класса** (**Additional context class name**). В качестве значения нужно указывать полное имя класса,​ с учетом пространств имен. Таким образом,​ один и тот же контент может участвовать в двух контекстных классах:​ основном,​ задаваемом на [[developer:​linq:​db_mapping|уровне сайта]] и дополнительном,​ задаваемом на [[developer:​linq:​db_mapping|уровне контентов]]. Пространства имен для всех генерируемых контекстных классов (как основного,​ так и дополнительных) для предотвращения конфликта имен должны различаться.
  
-При использовании компонента на сайте необходимо: ​+При использовании компонента, использующего LINQ-to-SQL классы ​на сайте необходимо: ​
  
   - Воссоздать структуру контентов (например,​ с помощью механизма выборочного **Backup**/​**Restore** и последующего **Site Update**). При этом также должна быть восстановлена информация о отображении в LINQ-to-SQL классы и свойства. ​   - Воссоздать структуру контентов (например,​ с помощью механизма выборочного **Backup**/​**Restore** и последующего **Site Update**). При этом также должна быть восстановлена информация о отображении в LINQ-to-SQL классы и свойства. ​
   - Сгенерировать .map-файл привязки классов (поскольку классы для этого проекта генерировать не надо, можно установить опцию **Генерировать только .map-файл** (**Generate only .map file**) на [[developer:​linq:​db_mapping|уровне сайта]]).   - Сгенерировать .map-файл привязки классов (поскольку классы для этого проекта генерировать не надо, можно установить опцию **Генерировать только .map-файл** (**Generate only .map file**) на [[developer:​linq:​db_mapping|уровне сайта]]).
  
developer/linq/components.txt · Last modified: 2011/05/06 17:00 by celutp