【发布时间】:2011-02-25 16:02:19
【问题描述】:
我正在使用 Fluent NHibernate 和 DiscriminateSubClassesOnColumn() 来支持子类化。用于区分子类的列未映射到实体上的实际属性。
如何创建只返回给定类型实体的查询?
这是我的尝试,其中 propertyName 是我的区分列的名称,value 是类型名称:
return _db.CreateCriteria<T>()
.Add(Restrictions.Eq(propertyName, value))
.List<T>();
但是,这给了我错误“无法解析属性:类型:[我的实体类型]”,这是因为实体本身没有该属性。如果我将该属性添加到我的实体并对其进行映射,我会收到另一个错误:“System.IndexOutOfRangeException : Invalid index 7 for this SqlParameterCollection with Count=7.”
【问题讨论】:
标签: c# nhibernate fluent-nhibernate