我的api方法是否总是与底层数据源(ORM的datacontext)绑定,以公开支持oData的Queryable功能,并具有延迟执行的好处?
片段
public class ProductController : ApiController {
public IQueryable<Product> Get() {
var dbContext = new DBContext();
return dbContext.Product.AsQueryable();
}
}
答案 0 :(得分:1)
您可以按如下方式应用规则:
return dbContext.Product.Where(p=> !p.IsExpired).AsQueryable();
关于你的第二个问题,这取决于你。如果您需要公开您的数据,那么您应该。如果要公开数据的备用视图,可以创建 ViewModel 并公开它。