如果在服务中使用存储过程,OData的好处是否会丢失?

时间:2015-07-16 14:30:34

标签: entity-framework stored-procedures ado.net odata asp.net-web-api

目前,我们的数据库团队只允许通过存储过程完成数据连接。我认为这样做的主要原因是,如果需要,他们可以理解模式更改的影响。当我考虑将OData用于我们的服务时,这为我提出了问题。如果我们在封面下使用存储过程,我是否会失去Odata查询/过滤的好处,我很好奇?我最初的想法是,我们必须撕开OData查询并将特定参数传递给存储过程。我错过了一个关键概念吗?任何意见都将不胜感激。

1 个答案:

答案 0 :(得分:3)

虽然可以在没有IQueryable的情况下使用OData,但是你会让生活变得更加艰难。例如,使用带有IQueryable的OData v4支持的Web API方法:

[EnableQuery]
public IQueryable<Product> Get()
{
    return db.Products;
} 

看看它有多容易。否则你将不得不直接处理ODataQueryOptions