我正在尝试创建OData API(使用实体框架作为ORM)。一切正常。我正在尝试为属性设置属性名称。
这是Startup.Configure
代码:
var builder = new ODataConventionModelBuilder(serviceProvider);
var entitySetConfiguration = builder.EntitySet<A>("A");
entitySetConfiguration.EntityType.Property(a => a.b).Name = "a@b";
entitySetConfiguration.EntityType.Select().Filter().OrderBy().Page().Count();
return builder.GetEdmModel();
这是Controller
代码:
[ODataRoute]
[EnableQuery]
public async Task<IActionResult> Get()
{
var dbContext = get context;
return Ok(dbContext.A);
}
我看到以下异常消息:
The property name 'a@b' is invalid; property names must not contain any of the reserved characters ':', '.', '@'.
在此github issue中,这似乎是由于可以禁用属性名称验证所致。我无法在配置/请求处理期间找到该方法。