я нашел следующую статью http://ayende.com/Blog/archive/2009/04/28/nhibernate-unit-testing.aspx, чтобы помочь мне протестировать мой модуль NHibernate. Большинство моих тестов работают нормально, но была выдана странная ошибка. Глядя на сгенерированный SQL, я считаю, что следующее беглое отображение вызывает проблемы:
Map(x => x.IsValid).Formula("CASE WHEN dbo.NumPosts(UserID) = 5 THEN 1 ELSE 0 END");
Вы заметите вызов dbo.NumPosts, который является определяемой пользователем функцией в моей базе данных. Я знаю, что есть другие способы, которыми я мог бы сопоставить это свойство, но это просто используется в качестве примера. В основном мне нужно знать, как отобразить это с помощью SQLite.
Edit:
После дальнейших размышлений можно ли переопределить сопоставление для этого поля в моем проекте модульного тестирования? Вот моя текущая конфигурация:
private static ISessionFactory CreateSessionFactory() {
return Fluently.Configure()
.Database(SQLiteConfiguration.Standard.InMemory().ShowSql())
.Mappings(m => m.FluentMappings
.AddFromAssembly(typeof(Role).Assembly)
.Conventions.AddFromAssemblyOf<EnumConvention>())
.ExposeConfiguration(c => _configuration = c)
.BuildSessionFactory();
}
Я не хочу переопределять все сопоставления, так как это займет некоторое время и станет непригодным для обслуживания.
Буду признателен за помощь. Спасибо