У меня есть веб-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);
Возможно ли это даже достичь?