Пользовательский класс с вычисляемыми данными в OData и Entity Framework - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть веб-API в net-core, где я использую Entity Framework и OData для соединения конечной точки REST с базой данных, однако мне нужно добавить некоторые «вычисленные» данные, которые я хотел бы использовать в качестве одного из моихобычные объекты данных, такие, что их можно получить с помощью «развернуть» en odata или напрямую, запросив конечную точку.

Рассмотрим стандартное расположение элементов заказа:

Table: Orders
Columns: Id, DateTime, CustomerRef ...

Table: Items
Columns: Id, OrderId, ItemId, ...

По отношению кOrders Таблица, я хотел бы добавить ссылку на OrderStatistic объект с отношением один к одному, но все данные в статистической таблице основаны на вычислениях, опрашивая базу данных через структуру сущностей.

Как добавить этот объект в модель и получить доступ к родительскому идентификатору Order и контексту базы данных EF, чтобы данные можно было извлечь и заполнить на основе идентификатора.Таким образом, я обнаружил, что объект можно добавить в качестве объекта ссылки в ODataConventionModelBuilder, но мне не повезло, что он продвинулся дальше:

var cu = builder.StructuralTypes.First(t => t.ClrType == typeof(Order));
cu.AddNavigationProperty(typeof(Order).GetProperty("OrderStatestic"), EdmMultiplicity.One);

Возможно ли это даже достичь?

...