Asp.Net Core - 将模型的属性绑定到不同的命名值

时间:2018-03-07 12:27:19

标签: asp.net-core odata model-binding

我有以下情况。 我已经实现了OData,我使用$ filter这样:$filter=Name eq 'test.txt'

我想要做的是,在文件中使用别名作为文件。例如,我希望查询$filter=name eq 'test.txt'也有效。 目前,当我尝试此操作时,我收到此错误:Could not find a property named 'name' on type 'My.App.DataAccess.Model.File

模型

public class File 
{
    public long Size { get; set; }
    public Guid Id { get; set; }
    public string Name { get; set; }
}

控制器

public async Task<IActionResult> GetFiles(,
[FromQuery]ODataQueryParameters parameters)
{
    var modelManager = (IODataModelManger)HttpContext.RequestServices.GetService(typeof(IODataModelManger));
    var model = modelManager.GetModel(nameof(My.App));
    var queryContext = new ODataQueryContext(model, typeof(File), null);
    var queryOptions = new ODataQueryOptions(queryContext, HttpContext.Request, Provider);

    var result = await FileService.GetFilesM(queryOptions);

    return Json(result);
}

我找到了这个有趣的页面:https://ole.michelsen.dk/blog/bind-a-model-property-to-a-different-named-query-string-field.html,但我根本无法适应我的需求,而不是旧的。

有谁知道如何将模型属性绑定到不同的命名查询字符串字段?

0 个答案:

没有答案