You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft.AspNetCore.OData v8.0.2 查询字段名大小写不敏感设置失效问题

OData V8 字段名大小写不敏感配置方案

OData V8 对 Uri 解析器的注册逻辑有调整,原有配置未生效是因为使用了基类ODataUriResolver,且未处理默认驼峰命名规则的冲突,按以下步骤修改即可:

1. 修改服务注册配置

将原有OData服务注册代码替换为以下内容:

services.AddControllers()
    .AddOData(opt =>
    {
        opt.EnableQueryFeatures();
        opt.AddRouteComponents("", model0, sv =>
        {
            // 使用UnqualifiedODataUriResolver替代基类ODataUriResolver
            sv.AddSingleton<ODataUriResolver>(_ => new UnqualifiedODataUriResolver
            {
                EnableCaseInsensitive = true
            });
        });
        // 关闭默认驼峰命名转换,避免大小写匹配冲突
        opt.RouteOptions.EnableLowerCamelCase = false;
    });

2. 检查EDM模型构建逻辑

如果你的EDM模型构建代码中调用了EnableLowerCamelCase()方法,请删除该行配置:

var modelBuilder = new ODataConventionModelBuilder();
// modelBuilder.EnableLowerCamelCase(); // 删除该行,否则会强制属性名驼峰化,导致大小写匹配失效
// 其余实体配置代码不变
var model0 = modelBuilder.GetEdmModel();

3. 验证配置

修改完成后分别请求以下两个地址,均可正常返回结果:

  • url/$filter=MyField eq 1
  • url/$filter=myfield eq 1

内容的提问来源于stack exchange,提问作者Sameh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:36:03