我在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);
这甚至有可能实现吗?