Я пытаюсь создать OData API (используя Entity Framework в качестве 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 похоже, что это связано с проверкой имени свойства, которую можно отключить. Я не могу найти, как это сделать во время конфигурации / обработки запроса.