Это мой сценарий:
У меня есть модель Company
:
public class Company
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public virtual List<Product> Products { get; set; }
public virtual List<Employee> Employees { get; set; }
}
и конечная точка API, которая выглядит следующим образом:
//GET: api/company/Profile?id=stringid
[Route("Profile")]
[ResponseType(typeof(Company))]
public IHttpActionResult<Company> GetEmployeeCompany(string userId)
{
var company = db.Companies
.Include(p => p.Products)
.Where(u => u.Employees.userId == userId);
return Ok(company)
//that return dont work ofc, but i just want to show what im talking about
}
У меня вопрос, как найти Company
с его продуктами, чтобы этот работник работал? У сотрудника есть уникальный идентификатор пользователя, который является строкой. Я передаю эту строку по конечной точке в вызове API
EDIT
Employee
класс
public class Employee
{
[Key]
[ForeignKey("User"), DatabaseGenerated(DatabaseGeneratedOption.None)]
public string UserId { get; set; }
public int CompanyId { get; set; }
public virtual Company Company { get; set; }
public virtual ApplicationUser User { get; set; }
}