【发布时间】:2012-05-04 06:17:22
【问题描述】:
我的 api 方法是否应该始终绑定到底层数据源(ORM 的数据上下文)以公开支持 oData 的 Queryable 功能并受益于延迟执行?
片段
public class ProductController : ApiController {
public IQueryable<Product> Get() {
var dbContext = new DBContext();
return dbContext.Product.AsQueryable();
}
}
- 如果我必须绑定始终,如果必须,我可以如何以及在哪里应用业务验证?例如:我想退回未过期的产品。
- 我们直接暴露数据实体不是违反关注点分离和紧密耦合吗?
【问题讨论】:
标签: odata asp.net-mvc-4 asp.net-web-api