ASP.NET Core 3.1 OData:无法通过ID选择实体

问题描述 投票:0回答:1

我有一个OData端点(操作方法),该端点返回[C​​0]项目列表:

IQueryable

POCO类将[EnableQuery] public IQueryable<Entity> Get() 属性应用于其id属性。它工作正常,返回了所有实体,我可以进行过滤器等。但是我无法通过其ID选择一个实例,即:

[Key]

我需要做任何设置吗?我也尝试在模型中配置密钥:

/odata/entity?$filter=Id eq 1   //works
/odata/entity(1)                //does not work

但是它也没有用。我可以实现此目标的唯一方法是为此添加一个操作方法:

var odataBuilder = new ODataConventionModelBuilder();
odataBuilder.EntitySet<Student>("Entity").EntityType.HasKey(x => x.Id);

但是我给人的印象是,这是不需要的,其他动作就足够了。我错了吗?

asp.net-core odata
1个回答
0
投票

根据我的研究和找到的示例,我认为这是不可能的,例如,始终需要专用的方法。

© www.soinside.com 2019 - 2024. All rights reserved.