entity2 ="FiscalYear" name2 ="Periods" cardinality ="M:1">
Теперь необходимо задать конфигурацию в описании проекта. Предположим, что мы хотим создать 3-звенное приложение со следующими логическими слоями:
• слои хранения будут развёрнуты на SQL Server или Oracle;
• слой домена под управлением NHibernate;
• слой веб-служб на базе ServiceStack (вместо WCF, имеющего под Mono/Linux ограничения).Пример конфигурации проекта в Genie Lamp
type ="GenieLamp.Genies.SqlServer.SqlServerGenie"
assembly ="GenieLamp.Genies.SqlServer"
active ="false"
outDir ="%PROJECT_DIR%/../SQL/SqlServer-%TARGET_VERSION%"
outFileName ="%PROJECT_NAME%.sql"
updateDatabase ="true"
targetVersion ="2008">
name ="Database.Create" value ="false" />
… Другие параметры "заклинания"
type ="GenieLamp.Genies.Oracle.OracleGenie"
assembly ="GenieLamp.Genies.Oracle"
active ="true"
outDir ="%PROJECT_DIR%/../SQL/Oracle-%TARGET_VERSION%"
outFileName ="%PROJECT_NAME%.sql"
outFileEncoding ="iso-8859-1"
updateDatabase ="false"
targetVersion ="10g">
name ="UniqueIndexConstraint" value ="true" />
…
type ="GenieLamp.Genies.NHibernate.NHibernateGenie"
assembly ="GenieLamp.Genies.NHibernate"
active ="true"
outDir ="%PROJECT_DIR%/../Domain"
outFileName ="%PROJECT_NAME%.Domain.cs"
targetVersion ="*">
name ="TargetAssemblyName" value ="Company.Business.%PROJECT_NAME%.
Domain" />
для генерации интерфейсов к веб-службам – >
type ="GenieLamp.Genies.ServicesLayer.ServiceStack.ServicesInterfacesGenie"
assembly ="GenieLamp.Genies.ServicesLayer"
active ="true"
outDir ="%PROJECT_DIR%/../Services.Interfaces"
targetVersion
="*">
для генерации собственно веб-служб – >
type ="GenieLamp.Genies.ServicesLayer.ServiceStack.ServicesGenie"
assembly ="GenieLamp.Genies.ServicesLayer"
active ="true"
outDir ="%PROJECT_DIR%/../Services"
targetVersion ="*">
name ="PrimaryKey.ColumnTemplate" value ="NI%TABLE%" /> name ="PrimaryKey.ConstraintTemplate" value ="PK_%TABLE%" /> … Другие шаблоны именований name ="ForeignKey.CreateIndex" value ="true" /> name ="BooleanValues" value ="YesNo"/>
name ="BaseNamespace" value ="Company.Business.%PROJECT_NAME%" />
name ="BaseNamespace" value ="Company.Business.%PROJECT_NAME%" />