【发布时间】:2012-11-05 02:15:24
【问题描述】:
在我的数据库中有 Assignment 和 Workplace 表,从概念上讲,每项任务都在一个工作场所进行。 Assignment 表包含 Workplace 列,该列是引用 Workplace 表的 WorkplaceName 列的外键。 p>
这是架构:
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 列。我尝试使用ForeignName 方法,认为我可以通过这种方式指定WorkplaceName。如何告诉 FH 如何加入正确的列?
【问题讨论】:
标签: .net nhibernate fluent-nhibernate