[英]Can't Get $expand Working for a Single OData Entity With AsyncEntitySetController
[英]Can't invoke single query GET in WebApi OData
我有帶OData控制器的Web API。 型號是
public class UserDto
{
public int UserDtoId {get;set;}
public string Name {get;set;}
}
在控制器中,我有兩種方法
[EnableQuery]
public IQueryable<UserDto> Get();
[EnableQuery]
public SingleResult<UserDto> GetUser([FromODataUri] int key);
OData配置為:
ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<UserDto>("Users").EntityType.HasKey(e=>e.UserDtoId).Name = "User";
config.MapODataServiceRoute(
routeName: "ODataRoute",
routePrefix: "odata",
model: builder.GetEdmModel());
當我嘗試調用odata / Users(123)時,odata嘗試首先調用不帶鍵的get並返回表中的所有記錄。 當我注釋掉第一個get方法時,根本沒有用於該URI訪問的GET方法。 我在哪里弄錯了?
我嘗試使其[ODataRoute]不變。
在您的代碼中,您的兩個函數分別是Get()
和GetUser(int key)
它們都應為' Get
'
也不確定是否重要,但對於Get(int)
,如果仍然SingleResult<UserDto>
正常工作,請嘗試將SingleResult<UserDto>
更改為UserDto
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.