是否使用 Linq 在存储库外部构建查询,同时仍然可以过滤数据库中的数据,而无需将 Linq 暴露/泄漏到存储库外部的实体?显然,我可以将 Lamba 表达式构造为 Query() 方法甚至规范对象的参数,但我希望以某种方式使用 Linq 创建高效的即席查询,而不管存储库中使用什么数据提供者。
例如:
var myProductID = myRepo.Query()
.Where( p => p.color.Contains("green") )
.Select( p => p.ID.ToString() );
这些概念似乎相互排斥。