正在尝试使用QueryOver和标记的枚举查询。这在Nhibernate.Linq中有效:
var results = repo.Query()
.Where(x => (x.Classification & LineItemClassification.Shipping) == LineItemClassification.Shipping);这将使用QueryOver抛出Could not determine member from (Convert(x.Classification) & 2):
var results = repo.QueryOver()
.Where(x => (x.Classification & LineItemClassification.Shipping) == LineItemClassification.Shipping);有什么想法吗?有什么建议吗?
枚举:
[Flags]
public enum LineItemClassification
{
Foo,
Widget,
Shipping
}映射:
Map(x => x.Classification)
.CustomType<LineItemClassification>();发布于 2011-05-04 06:37:21
我今天遇到了类似的问题,最后做了一个SQL预测。这并不理想,因为它使我们远离了使用QueryOver应用程序接口获得的类型安全,但它是有效的。下面是我的代码的相关部分。
.QueryOver<ProjectActivity>()
.Where(Expression.Gt(Projections.SqlProjection(String.Format("({{alias}}.ProjectActivityTypeId & {0}) as ProjectActivityTypeId", (int)type), null, null), 0))希望这能有所帮助。
https://stackoverflow.com/questions/5557915
复制相似问题