在我的数据库中,有表Assignment和Workplace,从概念上讲,每项任务都发生在一个工作场所。Assignment表包含一个Workplace列,它是引用Workplace表的WorkplaceName列的外键。
这是架构:
table Workplace (
ID int primary key,
WorkplaceName int
)
table Assignment (
Workplace int
)
还有我的映射:
class Workplace
{
public virtual int ID { get; set; }
public virtual int WorkplaceName { get; set; }
}
class Assignment
{
public virtual Workplace { get; set; }
}
class AssignmentMap : ClassMap<Assignment>
{
public AssignmentMap()
{
References(a => a.Workplace);
}
}
在运行时我得到异常
不存在具有给定标识符的行[MyProject.Workplace#2001]
这里的问题似乎是 FH在Workplace.ID列中查找Assignment.Workplace属性的值,即表的主键;正确的位置是Workplace.WorkplaceName列。我尝试使用该方法,认为我可以通过这种方式指定WorkplaceName。如何告诉 FH 如何加入正确的列?ForeignName