在OData和Entity Framework中具有计算数据的自定义类

时间:2018-09-21 19:45:01

标签: asp.net-core odata entity-framework-core

我在net-core中有一个Web API,在其中我使用实体框架和OData将REST端点与数据库连接,但是,我需要添加一些我想充当其中之一的“计算”数据普通数据实体,因此可以通过“扩展”数据库或直接请求端点来检索它。

考虑标准的订单项布局:

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

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

关于Orders表,我想添加对OrderStatistic对象的一对一关系引用,但是统计表中的所有数据都是基于计算的,通过实体框架查询数据库。

如何在模型中添加此对象,并获得对父Order ID和EF数据库上下文的访问权限,以便可以根据ID检索和填充数据。如此票价,我发现该对象可以作为引用对象添加到ODataConventionModelBuilder中,但是我走运还不够运气:

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

这甚至有可能实现吗?

0 个答案:

没有答案