【发布时间】:2017-04-23 19:29:44
【问题描述】:
我正在尝试返回单个员工,包括外国表中的值。
这是我的 Employee 模型类
public class Employee
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int EmployeeId { get; set; }
[Required]
[MaxLength(100)]
public string EmployeeName { get; set; }
[ForeignKey("Department")]
public int DepartmentId { get; set; }
public Department Department { get; set; }
[ForeignKey("Gender")]
public int GenderId { get; set; }
public Gender Gender { get; set; }
}
部门和性别模型类
public class Department
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int DepartmentId { get; set; }
[Required]
[MaxLength(50)]
public string DepartmentName { get; set; }
}
public class Gender
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int GenderId { get; set; }
[Required]
[MaxLength(50)]
public string GenderName { get; set; }
}
使用下面的代码,我可以在返回时返回包含的部门名称和性别名称
all employees
// GET: api/Employees
public IQueryable<Employee> GetEmployees()
{
return db.Employees.Include(c => c.Department).Include(g => g.Gender); ;
}
但是当我想退回一名单身员工时,我不知道如何退回……我将部门和性别设为空。 这是我的代码。我不知道如何在这个单一员工中包含部门名称和性别名称。我只得到了 DepartmentId 和 GenderId,但没有得到 DepartmentName 和 GenderName。
[ResponseType(typeof(Employee))]
public async Task<IHttpActionResult> GetEmployee(int id)
{
Employee employee = await db.Employees.FindAsync(id);
if (employee == null)
{
return NotFound();
}
return Ok(employee);
}
提前谢谢你!
【问题讨论】:
标签: asp.net asp.net-mvc asp.net-web-api