Я думаю, вам не нужно отлаживать FluentNhibernate. Вопрос может быть в ваших условностях.
Как я понимаю, у вас есть объект Region, и он ссылается на другой объект Workflow.
Так что установите соглашение для всех ссылочных ссылок e.q.:
private Action<IConventionFinder> GetConventions()
{
return c =>
{
c.Add<PrimaryKeyConvention>();
c.Add<ReferenceConvention>();
c.Add<HasManyConvention>();
c.Add<TableNameConvention>();
c.Add<PropertyNameConvention>();
};
}
Используйте этот приватный метод в своей реализации
public AutoPersistenceModel Generate()
И условное обозначение должно быть примерно таким:
using FluentNHibernate.Conventions;
using FluentNHibernate.Conventions.Instances;
public class ReferenceConvention : IReferenceConvention
{
public void Apply(IManyToOneInstance instance)
{
instance.Column(Inflector.Net.Inflector.Camelize(instance.Property.Name) + "Id");
}
}
Также проверьте, что вы переопределяете отображения, если это так.
У меня есть одна ведьма, экспортирующая сопоставления. К сожалению ниже приведена старая версия:
[Test, Ignore("Run this test only if you want to see mappings")]
public void ShouldExportMappings()
{
const string mappingPath = @"mappings";
if (!Directory.Exists(mappingPath))
Directory.CreateDirectory(mappingPath);
var sessionFactory = Fluently.Configure()
.Database(SQLiteConfiguration.Standard.InMemory)
.Mappings(m =>
{
m.FluentMappings
.AddFromAssemblyOf<User>()
.ExportTo(mappingPath);
m.AutoMappings
.Add(new AutoPersistenceModelGenerator().Generate())
.ExportTo(mappingPath);
}).BuildSessionFactory();
}
И, наконец, если вы действительно хотите отладить, скопируйте источники FluentNHibernate из их хранилища и включите их в свой sln. Но это не очень хорошая идея, так как проблема в вашем коде, а не в их. Это не поможет, вы только потеряете время.