This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
developer:linq:assembling [2011/05/06 15:45] celutp removed |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Алгоритм сборки LINQ-to-SQL классов ====== | ||
- | - Проверяется наличие файла //mapping.xml// в папке //App_Data//. Eсли файл отсутствует, то отображение по умолчанию генерируется в файле //mapping.xml//, иначе – в файле //defaultMapping.xml//. | ||
- | - Файл //mapping.xml// доопределяется информацией из БД. Результат записывается в файл //App_Data/mappingResult.xml//. | ||
- | - Из QP7 Backend в папку //App_Data// копируются XSLT-файлы отображения | ||
- | - C помощью XSLT дополненный файл отображения преобразуется в формат DBML (файл //App_Data/QP.dbml//) | ||
- | - Файл //QP.dbml// подается на вход утилите //SqlMetal.exe//, которая генерирует базовые определения LINQ-to-SQL классов (файл //App_Code/QPDataContext.cs//) | ||
- | - C помощью XSLT из дополненного файла отображения генерируются частичные методы для поддержки редактирования контентов QP7 (файл //App_Code/QPDataContextModification.cs//) | ||
- | - C помощью XSLT из дополненного файла отображения генерируются свойства для поддержки полей Many-To-Many (так как встроенная поддержка для полей типа Many-to-Many отсутствует в LINQ-to-SQL). Файл //App_Code/QPDataContextMany.cs//. | ||
- | - С помощью XSLT из дополненного файла отображения генерируются методы расширения сущностных классов LINQ-To-SQL . Файл //App_Code/Extensions.xslt//. | ||