Nhibernate查询覆盖枚举标志
正在尝试使用QueryOver和标记的枚举查询。这在Nhibernate中起作用。Linq:Nhibernate查询覆盖枚举标志,nhibernate,queryover,Nhibernate,Queryover,正在尝试使用QueryOver和标记的枚举查询。这在Nhibernate中起作用。Linq: var results = repo.Query() .Where(x => (x.Classification & LineItemClassification.Shipping) == LineItemClassification.Shipping); 此抛出无法使用QueryOver从(Convert(x.Classification)&2)确定成员: var results
var results = repo.Query()
.Where(x => (x.Classification & LineItemClassification.Shipping) == LineItemClassification.Shipping);
此抛出无法使用QueryOver从(Convert(x.Classification)&2)
确定成员:
var results = repo.QueryOver()
.Where(x => (x.Classification & LineItemClassification.Shipping) == LineItemClassification.Shipping);
有什么想法吗?建议
枚举:
映射:
Map(x => x.Classification)
.CustomType<LineItemClassification>();
Map(x=>x.Classification)
.CustomType();
我今天遇到了类似的问题,最后做了一个SQL投影。这并不理想,因为它使我们远离了使用QueryOver API获得的类型安全性,但它是有效的。下面是我代码的相关部分
.QueryOver<ProjectActivity>()
.Where(Expression.Gt(Projections.SqlProjection(String.Format("({{alias}}.ProjectActivityTypeId & {0}) as ProjectActivityTypeId", (int)type), null, null), 0))
.QueryOver()
.Where(Expression.Gt(Projections.SqlProjection(String.Format({{alias}.ProjectActivityTypeId&{0})作为ProjectActivityTypeId“,(int)类型),null,null),0))
希望这能有所帮助。将x.分类转换为int有效吗?找到答案了吗?我也有类似的情况,但我有完全相同的问题。你怎么解决这个问题?
.QueryOver<ProjectActivity>()
.Where(Expression.Gt(Projections.SqlProjection(String.Format("({{alias}}.ProjectActivityTypeId & {0}) as ProjectActivityTypeId", (int)type), null, null), 0))