Fluent NHibernate双向映射-生成两个类似的引用列
我试图用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 {
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();