SharpArchitecture использует FluentNHibernate для автоматического создания отображений NHibernate на основе ваших сущностей, как это определено в проекте PROJECT.Core.Он будет определять отношения на основе модели предметной области.Вы обнаружите, что вам часто нужно настраивать сопоставления.
В проекте PROJECT.Data вы будете выполнять переопределения сопоставления по умолчанию.В этом проекте вы найдете папку NHibernateMaps с несколькими классами для установки стратегии отображения по умолчанию.Шаг 1 - оценить стратегию сопоставления по умолчанию, чтобы увидеть, нужно ли вносить какие-либо общесистемные изменения в стратегии по умолчанию.Во-вторых, вы можете переопределить отображение для конкретной сущности.Для этого создайте новый класс с именем [EntityClass] Map, который выглядит следующим образом:
public class EntityMap : IAutoMappingOverride<Entity> {
public void Override(AutoMapping<Entity> mapping) {
//use the mapping. to override default mappings. Here is just an example
mapping.References(x => x.EntityCategory).Fetch.Join();
mapping.References(x => x.EntitySubItem).NotFound.Ignore();
}
}
Ваше приложение связывает все это в методе InitializeNHibernateSession в global.asax.cs..