【发布时间】:2017-09-13 15:47:15
【问题描述】:
当我添加一个员工时,我询问公司的数据,添加下一个员工再次询问我公司的数据并生成重复记录。如果这两名员工来自同一家公司,那应该是我的验证,这样我就不会重新注册公司?
public class Company
{
[Key]
public int Id { get; set; }
[Required]
[MaxLength(45)]
public string Code { get; set; }
[Required]
public string Name { get; set; }
public string BussinesName { get; set; }
public string WebAddress { get; set; }
public virtual ICollection<Employee> Employees { get; set; }
}
public class Employee
{
[Key]
public int Id { get; set; }
public int EmployeeNumber { get; set; }
[Required]
public Company Company { get; set; }
[Required]
public bool Active { get; set; }
}
后控制器
[HttpPost]
public IActionResult Post([FromBody]Employee data)
{
//Validamos
if(ModelState.IsValid){
//Agregamos registro
_context.Employee.Add(data);
return Ok(_context.SaveChanges());
}
return BadRequest(ModelState);
}
对缺失公司数据的回应是:
{
"Person": [
"The Person field is required."
],
"Company.Code": [
"The Code field is required."
],
"Company.Name": [
"The Name field is required."
]
}
公司详情
{
"Person": {
"lastNamePat": "Juan",
"lastNameMat": null,
"firstName": "Lopez"
},
"Company" :{
"Code": "XXX",
"Name": "test"
}
}
如何验证信息不重复?
【问题讨论】:
-
您的
Employee和Company实体之间似乎没有外键。
标签: c# mysql asp.net-core entity-framework-core