我有两节课:
public class User
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}
public class Report
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual User User { get; set; }
}
...其中类User
已经是数据库中的现有表。现在,我想将Report
表添加到数据库中,为此我计划使用 Fluent NHibernate。我正在映射User
和Report
,因为我希望User
可以从Report
课堂上访问。User
和之间存在一对多的关系Report
。
我已经有将 SQL 脚本导出到数据库并User
包含在其中的测试。现在我还想导出 FNH 生成的脚本,但我不希望 FNH 生成User
,因为它已经在数据库中。
因此,我可以SchemaAction.None()
在映射中指定User
. 这使得 FNH 不会为 生成脚本User
,只为Result
. 唯一的问题是,表中没有生成外键Report
。如何使 FNH 不导出生成的脚本User
但仍导出表的外键Report
?
如果我只是不指定 SchemaAction,则创建表User
并Report
生成外键Report
。