我的 api 方法是否应该始终绑定到底层数据源(ORM 的数据上下文)以公开支持 oData 的 Queryable 功能并受益于Deferred Execution?
片段
public class ProductController : ApiController {
public IQueryable<Product> Get() {
var dbContext = new DBContext();
return dbContext.Product.AsQueryable();
}
}
- 如果我必须始终绑定,如果必须,我如何以及在哪里应用业务验证?例如:我想退回未过期的产品。
- 直接暴露数据实体,是不是违反了关注点分离,做紧耦合?