外键的属性并不想在一个用许多关系EF 6
问题描述:
我有两个POCO类为
员工外键的属性并不想在一个用许多关系EF 6
public class Employee
{
public Employee()
{
Departments = new HashSet<Department>();
}
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int EmployeeId { get; set; }
public String EmployeeName { get; set; }
public int DeptId { get; set; }
[ForeignKey("DeptId")]
public ICollection<Department> Departments { get; set; }
}
Department类
public class Department
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int DepartmentId { get; set; }
public String Name { get; set; }
public ICollection<Employee> Employees { get; set; }
}
时有效,我想命名除了缺省的EF命名约定外,Emp-Department中的外键还有很多关系。所以我使用Employee
中的ForeignKey
属性。但我得到异常对Employee
型物业部门
外键属性不 有效
帮我找出命名外键的方式。
答
如果员工有一个指向部门的外键属性,则员工不能有多个部门。因此,将导航属性更改为:
[ForeignKey("DeptId")]
public virtual Department Department { get; set; }