我正在为新的 Web 应用程序评估一些技术。哪个应该使用带有 Web API 的 EF5 和 Knockout JS。我想在返回 IQueryable 时利用 OData 功能,但目前遇到了问题,如何将我的 EF 模型转换为我的业务模型。
据我所知,如果我想要一个更复杂的数据库(计算列、存储过程……),我应该使用 DB First 方法。(如我错了请纠正我)
因为我需要使用 DB-First 方法并希望我的模型独立于数据库,所以我需要在 EF-Models 之外创建它们。当我从 DataLayer 返回我的业务模型为 IQueryable 时,我失去了直接在数据库上执行其他查询的可能性,而是直接在 ASP.Net 服务器上执行它们。
当然,我不打算在 OData 上运行复杂的查询,并且无论如何都会将这些查询作为附加操作来实现,但在速度较慢的客户端(智能手机,...)上限制返回的数据并直接在服务器。
有没有办法摆脱这种困境,仍然能够使用 OData?
问候彼得