这让我摸不着头脑,所以我希望第二双眼睛能帮助我。
设置:
我有一个名为 DomainEntity 的基类,我的所有数据传输对象都使用它。它基本上只定义了一个名为 Id 的属性(它是一个整数)。
我有数据传输对象:博客、帖子、用户 DomainEntity 在命名空间 Core.Domain 中,数据传输对象在 Core.Domain.Model 下
我有以下会话生成器代码:
return Fluently.Configure()
.Database(SQLiteConfiguration.Standard.UsingFile("c:\blog.db"))
.Mappings(x => x.AutoMappings.Add(
AutoPersistenceModel.MapEntitiesFromAssemblyOf<Blog>()
.Where(type =>
type.Namespace.EndsWith("Domain.Model") &&
!type.IsAbstract &&
type.IsClass &&
type.GetProperty("Id") != null)
)).BuildSessionFactory();
当我尝试测试一个简单的查询时,我在上面的代码(某处)上得到一个应用程序异常,错误消息是:
System.ApplicationException:尝试为'Core.Domain.DomainEntity'构建映射文档时出错---> NHibernate.MappingException:无法编译映射文档:(XmlDocument)---> System.IndexOutOfRangeException:索引超出了数组的边界。
似乎我的代码/NHibernate 正在尝试映射 DomainEntity,但失败了。我认为我上面的代码明确声明不要使用 type.Namespace.EndsWith("Domain.Model") 映射该对象。那是对的吗?我在哪里会误入歧途?
感谢您的任何帮助。