Deferred Executionの利点を備えた oData をサポートするクエリ可能な機能を公開するために、API メソッドは常に基になるデータソース (ORM のデータコンテキスト) に結び付けるべきですか?
スニペット
public class ProductController : ApiController {
public IQueryable<Product> Get() {
var dbContext = new DBContext();
return dbContext.Product.AsQueryable();
}
}
- 常に関連付ける必要がある場合、必要に応じてビジネス検証をどこでどのように適用できますか? 例: 有効期限が切れていない商品を返品したい。
- データ エンティティを直接公開することで、関心の分離や密結合に違反していませんか?