OData4.0:如何在其上扩展嵌套级别和投影属性

时间:2018-08-14 12:10:40

标签: odata asp.net-core-2.0

我有CustomerOrder实体,在其中定义了导航,使得Customer.HasOrdersOrder.Customer

我还创建了一个Projected属性Customer.RegistredAddress,该属性是在下面定义的模型中构建的。

            entity.OwnsOne<Address>(e => e.RegistredAddress,
            sa =>
            {
                sa.Property(p => p.AddressLine1).HasColumnName("ADDRESS1");
                sa.Property(p => p.City).HasColumnName("CITY");
                sa.Property(p => p.RegionCode).HasColumnName("STATE");
                sa.Property(p => p.CountryCode).HasColumnName("COUNTRY");
                sa.Property(p => p.PostalCode).HasColumnName("POSTAL_CODE");
            });

现在,当我使用以下uri查询客户时 http://myserver:5002/odata/v1/customers?$filter=CustomerId eq 10000886按预期方式在RegistredAddress字段中获取数据,但是当我尝试获取Order并尝试使用诸如Customer之类的s扩展/orders?$expand=Customer&$top=3时,我看到它为扩展实体上的Null字段返回了Customer.RegistredAddress

  1. 有人可以帮助我了解我在这里做错了什么吗?
  2. 如何在实体上传递多级和多个属性。 URI会是什么样子

问候 基兰

0 个答案:

没有答案