我有 2 个实体(订单和产品),我使用 ODataModelBuilder 作为 OData 公开。在 Order 实体中,有一个 Status 复杂类型。有没有办法公开 Status 复杂类型?
ODataModelBuilder _modelBuilder = new ODataModelBuilder();
var _status = _modelBuilder.ComplexType<Status>();
_status.Property(x => x.Description);
_status.Property(x => x.Name);
_status.Property(x => x.StatusId);
var _order = _orders.EntityType;
_order.HasKey(x => x.OrderId);
_order.Property(x => x.ProductId);
_order.Property(x => x.Quantity);
_order.ComplexProperty(x => x.Status);
var _product = _products.EntityType;
_product.HasKey(x => x.ProductId);
_product.Property(x => x.Name);
_product.Property(x => x.Description);
我能想到的另一种方法是将 Status 转换为 EntityType。但是,使用这种方法,我无法在 Order 实体类型中定义 Status ComplexProperty,因此,从 Order 类型中删除了 Status 属性。Order 实体类型必须具有 Status。
有没有人在使用 Web API 中的 OData 之前遇到过这个问题?