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%" />