[英]OData with Web API/Entity Framework - define controller name for entity
我在WebAPI(带有Entity Framework模型)中使用OData,它似乎正在工作。 但是我有一个名为NominalAccounts的实体/控制器,其中的控制器称为'NominalAccountsController',数据库实体为'NominalAccount',而我要使用的OData路径为'nominal_accounts'(即http:// test / api / nominal_accounts ) 。 所以我在启动类中有以下代码:
builder.EntitySet<NominalAccount>("nominal_accounts");
但这似乎失败了,因为它寻找带下划线的控制器。 有没有一种方法可以为实体集定义应寻找的控制器?
我不知道您的设置是什么样子,但是每个实体都有一个controller
。 为了使我的控制器具有特定的端点,我只需使用ODataRoutePrefix
:
using System.Web.Http;
using System.Web.OData;
using System.Web.OData.Query;
using System.Web.OData.Routing;
[ODataRoutePrefix("nominal_accounts")]
public class NominalAccountsController : ODataController
{
[EnableQuery]
public virtual IQueryable<NominalAccount> Get(ODataQueryOptions<NominalAccount> q)
{
return _your_odata_source;
}
}
和我的配置是这样的:
IEdmModel model = GenerateModel();
config.MapODataServiceRoute(routeName: "ODataRoute", routePrefix: "odata", model: model);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.