【发布时间】:2012-02-28 03:53:57
【问题描述】:
我找到了以下文章 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 进行映射。
编辑:
经过进一步思考,是否可以在我的单元测试项目中覆盖该字段的映射?这是我当前的配置:
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();
}
我不希望重新定义所有映射,因为这会花费一些时间并且无法维护。
非常感谢您的帮助。谢谢
【问题讨论】:
标签: nhibernate sqlite fluent-nhibernate