如果在服务中使用存储过程,是否会失去 OData 的优势?
Are the benefits of OData lost if using a Stored Procedure in the service?
目前,我们的数据库团队只允许通过存储过程连接数据。我认为这样做的主要原因是他们可以在需要时了解架构更改的影响。当我考虑将 OData 用于我们的服务时,这对我提出了问题。我很好奇如果我们在幕后使用存储过程,我是否会失去 Odata querying/filtering 的好处?我最初的想法是,我们必须拆分 OData 查询并将特定参数传递到存储过程中。我错过了一个关键概念吗?任何输入将不胜感激。
虽然可以在没有 IQueryable 的情况下使用 OData,但这会让您的生活变得更加艰难。例如,带有 IQueryable 的 OData v4 支持的 Web API 方法:
[EnableQuery]
public IQueryable<Product> Get()
{
return db.Products;
}
看看这有多简单。否则你将不得不直接处理ODataQueryOptions。
目前,我们的数据库团队只允许通过存储过程连接数据。我认为这样做的主要原因是他们可以在需要时了解架构更改的影响。当我考虑将 OData 用于我们的服务时,这对我提出了问题。我很好奇如果我们在幕后使用存储过程,我是否会失去 Odata querying/filtering 的好处?我最初的想法是,我们必须拆分 OData 查询并将特定参数传递到存储过程中。我错过了一个关键概念吗?任何输入将不胜感激。
虽然可以在没有 IQueryable 的情况下使用 OData,但这会让您的生活变得更加艰难。例如,带有 IQueryable 的 OData v4 支持的 Web API 方法:
[EnableQuery]
public IQueryable<Product> Get()
{
return db.Products;
}
看看这有多简单。否则你将不得不直接处理ODataQueryOptions。