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.Job
或者Employee.Post
基于实体的类型
TPH场景中如何扩展所有引用的实体?