在WebAPI2中定义复合主键的路由

时间:2015-07-08 10:53:05

标签: c# entity-framework asp.net-web-api composite-primary-key asp.net-web-api-routing

如何在WebAPI控制器中定义复合PK?我有2个实体。在其中一个中我有两个主键。

实体“人”具有以下属性:Id(PK),Lname(PK),Fname,Age,GroupId(FK)。

这是我的控制器代码:

// GET: api/Person/5
[HttpGet]
[Route("Id")]
[ResponseType(typeof(Person))]
public async Task<IHttpActionResult> GetPersonById(int id, string lname)
{
    Person person = await db.Persons.FindAsync(new object[] {id, lname});
    if (person == null)
    {
       return NotFound();
    }

    return Ok(person);
}

实体人:

public partial class Person
{
  public int Id { get; set; }
  public string lname { get; set; }
  public string fname { get; set; }
  public int Age { get; set; }

  public int GroupId { get; set; }

  [ForeignKey("Id")]
  public virtual Group Group { get; set; }
}

我是否还必须在Route DataAnnotation中定义lname?

0 个答案:

没有答案