【发布时间】:2016-02-09 08:30:11
【问题描述】:
我有一个多对一的情况,一名员工可以为多个客户提供服务,而每个客户由一名员工提供服务。在 Customer 类中,我使用 ForeignKey 属性将 SupportRep 映射到 EmployeeId,它给了我一个错误。
public class Customer
{
[Key]
public int CustomerId { get; set; }
...
public int? SupportRepId { get; set; }
[ForeignKey("EmployeeId")]
public virtual Employee SupportRep { get; set; }
}
public class Employee
{
[Key]
public int EmployeeId { get; set; }
...
[ForeignKey("SupportRepId")]
public virtual ICollection<Customer> Customers { get; set; }
}
我得到的错误是:
错误:类型“SqlLiteChinook”的属性“SupportRep”上的 ForeignKeyAttribute。 客户'无效。在 d 上找不到外键名称“EmployeeId” 附加类型“SqlLiteChinook.Customer”。名称值应该是逗号分隔 ted 外键属性名称列表。
但是,如果我在 Customer 类中将 EmployeeId 更改为 SupportRepId,它会起作用。
Customer类中的外键不应该指向Employee类的EmployeeId吗?
请赐教。谢谢。
【问题讨论】:
标签: c# entity-framework sqlite ef-code-first