Fluent nhibernate 流畅的NHibernate和映射IList
我只想通过TemplateID从TemplateDocument表中返回每个模板的Template对象,其中填充了docid。可能吗?我如何设置此映射?它看起来很简单,但我似乎无法让这个映射工作Fluent nhibernate 流畅的NHibernate和映射IList,fluent-nhibernate,nhibernate-mapping,Fluent Nhibernate,Nhibernate Mapping,我只想通过TemplateID从TemplateDocument表中返回每个模板的Template对象,其中填充了docid。可能吗?我如何设置此映射?它看起来很简单,但我似乎无法让这个映射工作 谢谢。您是否也映射了TemplateDocument?如果您确实想映射Int列表,请选中此答案是的,我想输入ClassMap。多乔,谢谢你让我走上了正确的道路。通过执行以下操作,我能够得到我想要的:HasManyx=>x.DocIds.WithKeyColumnTemplateId.WithTableN
谢谢。您是否也映射了TemplateDocument?如果您确实想映射Int列表,请选中此答案是的,我想输入ClassMap。多乔,谢谢你让我走上了正确的道路。通过执行以下操作,我能够得到我想要的:HasManyx=>x.DocIds.WithKeyColumnTemplateId.WithTableNameTemplateDocument.AsElementDocID;哇,如果还要映射TemplateDocument,请小心。如果您操纵DocIds属性,则可能会破坏任何TemplateDocuments,因为您将有效地更改它们的ID。
public class Template
{
public int TemplateID { get; set; }
public string Name { get; set; }
public IList<int> DocIds { get; set; }
}
public class TemplateMap : ClassMap<Template>
{
public TemplateMap ()
{
Id(x => x.ID).GeneratedBy.Identity();
Map(x => x.Name);
WithTable("Template");
DiscriminateSubClassesOnColumn<string>("TemplateID ").SubClass<Template>("not null", m => { });
}
}
Template
-------------------------
TemplateID int
Name varchar(255)
TemplateDocument
-------------------------
TemplateID int
DocID int