В моем ODATA web api v4 я пытаюсь разрешить несколько DTO для одного объекта.OData multiple DTO для того же объекта
ODataModelBuilder builder = new ODataConventionModelBuilder();
var version = builder.MaxDataServiceVersion;
builder.EntitySet<PersonModelAdminDTO>("PersonModel").EntityType.HasKey(p => p.RecordId);
builder.EntitySet<PersonModelBasicDTO>("PersonModel").EntityType.HasKey(p => p.RecordId);
Я пробовал вышеуказанный код, но он говорит, что объект уже добавлен.
В принципе, поскольку я не хочу раскрывать все свойства PersonModel базовому пользователю, я создал отдельный DTO.
Я не хочу показывать, что PersonModelAdminDTO и PersonModelBasicDTO устанавливаются отдельно для метаданных клиента, потому что это сбивает с толку.
--- Отредактированный ----
В дополнение к предложению я попытался https://github.com/OData/ODataSamples/tree/master/WebApi/v4/DynamicEdmModelCreation
ее немного модифицировал
await SendQuery("/odata/mydatasource/Products?$select=ID", "Query the Products entity set.");
Там, кажется, существующая ошибка разомкнут:
stackoverflow.com/questions/29308157/
github.com/OData/WebApi/issues/175
Второй вариант не поддерживает OData запросов, т.е. $ фильтр, $ выбрать и т.д. – mehwish
@mehwish Это можно сделать, это то, как я настроить мою систему и поддерживает $ filter и $ select. Почему вы думаете, что это не поддержит это? – TomDoesCode
Я редактировал свой вопрос с вашим предложением. Пожалуйста, дайте мне знать, если у вас есть работа над этой проблемой. – mehwish