Fluent NHibernate双向映射-生成两个类似的引用列

Fluent NHibernate双向映射-生成两个类似的引用列,nhibernate,fluent,bidirectional,Nhibernate,Fluent,Bidirectional,我试图用Fluent NHibernate映射实现双向映射 域类的代码段: public class Template { public virtual int? Id { get; set; } public virtual string Title { get; set; } public virtual TemplateGroup TemplateParentGroup { get; set; } } public class TemplateGroup {

我试图用Fluent NHibernate映射实现双向映射

域类的代码段:

public class Template
{
    public virtual int? Id { get; set; }

    public virtual string Title { get; set; }

    public virtual TemplateGroup TemplateParentGroup { get; set; }
}

public class TemplateGroup
{
    public virtual int? Id {get; set;}

    public virtual string Title { get; set; }

    public IList<Template> Templates { get; set; }
}
因为我已经将FK ref.列名指定为“TemplateGroupId”


如何避免生成TemplateGroup\u id?

尝试在HasMany映射上使用KeyColumn

HasMany(x => x.Templates).KeyColumn("TemplateGroupId").Table("Template").AsBag().Cascade.AllDeleteOrphan();

非常感谢。它解决了这个问题。“KeyColumn”的值是否指定两个表中的公共引用列,即Template和TemplateGroup?
   create table [Template] (
    Id INT IDENTITY NOT NULL,
   Title NVARCHAR(150) not null,
   TemplateDoc VarBinary(MAX) not null,
   *TemplateGroupId INT not null,
   TemplateGroup_id INT null,*
   primary key (Id)
)
HasMany(x => x.Templates).KeyColumn("TemplateGroupId").Table("Template").AsBag().Cascade.AllDeleteOrphan();