Asp.net web api 使用ODataAPI将ID属性导航到源

Asp.net web api 使用ODataAPI将ID属性导航到源,asp.net-web-api,odata,Asp.net Web Api,Odata,我有一个由ASP.NET OData V4 API公开的类: public class Person { public int TitleId { get; set; } //Other properties like First Name, Last Name, DoB and so on... } TitleId属性是一个Id,它映射到位于不同OData端点地址的人员标题(先生、小姐、夫人等) 是否有任何方法可以提供元数据,让API的使用者知道此属性的查找值在哪里,或者我应

我有一个由ASP.NET OData V4 API公开的类:

public class Person
{
    public int TitleId { get; set; }
    //Other properties like First Name, Last Name, DoB and so on...
}
TitleId属性是一个Id,它映射到位于不同OData端点地址的人员标题(先生、小姐、夫人等)

是否有任何方法可以提供元数据,让API的使用者知道此属性的查找值在哪里,或者我应该以不同的方式进行处理


编辑:我正在寻找一种方法来提供元数据,以告知消费者查找值的位置。没有涉及数据库,这是一个映射层,覆盖着一个复杂得多的API。

如果您有标题类,并且在数据库中有标题类,则这是有效的:

public class Title
{
    public int Id { get; set; }
    public string TitleName { get; set; }
}
然后在当前模型中将其作为虚拟对象使用

[ForeignKey("TitleId")]
public virtual Title { get; set; }

public int TitleId{ get; set; }
我确信它能完成映射。
然后只需将它们寻址到
Title.TitleName

如果您有Title类,并且在数据库中有该类,则这是有效的:

public class Title
{
    public int Id { get; set; }
    public string TitleName { get; set; }
}
然后在当前模型中将其作为虚拟对象使用

[ForeignKey("TitleId")]
public virtual Title { get; set; }

public int TitleId{ get; set; }
我确信它能完成映射。
然后只需将它们寻址到
Title.TitleName

是否存在
Title
实体?它是否与
人员
属于同一服务?是的,有一个标题实体。它不在Person服务上,但可通过查找服务获得。我们有许多查找类型-标题、性别、国家等,我想告诉消费者API中这些查找类型的位置。例如,他们正在制作输入表单。在这种情况下,他们需要核心实体(Person)和查找类型(Title),以便API的使用者可以让他们的用户选择此人的标题。是否有
Title
实体?它是否与
人员
属于同一服务?是的,有一个标题实体。它不在Person服务上,但可通过查找服务获得。我们有许多查找类型-标题、性别、国家等,我想告诉消费者API中这些查找类型的位置。例如,他们正在制作输入表单。在这种情况下,他们需要核心实体(Person)和查找类型(Title),以便API的使用者可以让他们的用户选择此人的标题。