所以我有一个格式错误的架构,由于很多遗留代码依赖,我现在无法触及。
假设我有一个表Test,它有一个声明类型为int的列IsValid。
我希望poco域对象具有IsValid的正确意图作为布尔值。在我的存储库中应用查询时,我希望它在查询中正确解析。
.Where(o => o.IsValid == true)
应该解决:
where isvalid = 1
EntityTypeConfiguration可以这种方式映射还是我必须创建一个自定义表达式解析器来查找存储库中的特殊情况(我不想这样做)?或者有另一种方式(没有在域对象上暴露多个属性)?
谢谢!
答案 0 :(得分:0)
您可以创建一个查询扩展方法来封装此代码:
public static IQueryable<YourEntity> ThatAreValid(this IQueryable<YourEntity> source) {
return source.Where(x => x.IsValid == 1);
}
// usage
return entities.ThatAreValid();