【发布时间】:2014-09-17 07:58:01
【问题描述】:
我正在构建一个从遗留系统获取数据的 WebAPI,因此没有可供我使用的实体框架。现在我想使用 OData 功能,但如果我有像实体框架这样的想法,它就无法工作。但在我的研究中,我发现我可以像这样获取 ODataQueryOptions。
public IQueryable<Vehicle> Get(ODataQueryOptions opts)
{
var dal = new DataAccessVehicles();
return (dal.GetVehicles(opts));
}
在我的 DAL 中,我可以将 OData 查询转换为实际的 SQL 查询。但这似乎需要做很多工作。
我的问题是,是否有另一种方法或更好的方法可以在不使用实体框架的情况下实现这一目标。任何提示/帮助将不胜感激。
【问题讨论】:
-
为什么不能在现有数据库之上构建一个实体框架模型?我猜在遗留库中嵌入了很多业务规则,或者没有用于数据存储的 EF 提供程序..?
-
@Charleh 并非总是可能,我最近尝试将 EF 放在 Oracle 数据库之上时遇到了同样的问题,但很少有表具有主键,因此无法正常工作。
-
@Charleh 遗留代码中确实有很多业务规则,我不允许对库中的现有代码进行任何更改。
标签: c# sql odata asp.net-web-api translate