对TPH实体使用Web API ODATA $ expand = *

时间:2017-08-09 07:58:04

标签: c# asp.net-web-api odata tph

ODATA $expand=*术语扩展了实体的所有属性。但是在TPH模式中,它只扩展了基类引用属性:

public abstract class Person
{
     [Key]
     public int Id {get; set; }

     public Place BirthPlace { get; set;}
}

public class Customer : Person
{
  public Job Job{get;set;}
}

public class Employee : Person
{
  public Post Post{get;set;}
}

执行ODATA查询:/odata/Persons?$expand=*仅展开Place.BirthPlace引用属性;不是Customer.Job也不是Employee.Post

但扩展单个实体的效果与预期相符:/odata/Persons(411)?$expand=*根据实体的类型展开Place.BirthPlace以及Customer.JobEmployee.Post

如何在TPH场景中展开所有引用的实体?

0 个答案:

没有答案