不确定如何使用自定义查询中的Fluent NHibernate在对象上创建属性
我正在尝试映射以下结构:不确定如何使用自定义查询中的Fluent NHibernate在对象上创建属性,nhibernate,fluent-nhibernate,nhibernate-mapping,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,我正在尝试映射以下结构: public class Tag { public Guid Id {get;set;} public DateTime ActivatedDate {get;set;} } public class History { public Guid Id {get;set;} public TypeEnum Type {get;set;} public Guid ContentID {get;set;} public DateTime
public class Tag {
public Guid Id {get;set;}
public DateTime ActivatedDate {get;set;}
}
public class History {
public Guid Id {get;set;}
public TypeEnum Type {get;set;}
public Guid ContentID {get;set;}
public DateTime HistoryDate {get;set;}
}
Tag.ActivatedDate实际上由从历史记录中选择前1名HistoryDate填充,其中ContentID={tagid}&&Type='Activated'顺序由HistoryDate desc
我真的不知道如何用Fluent NHibernate映射这个
我的映射是:
public TagMapping() {
Table("Tags");
Id(x => x.Id)
}
public HistoryMapping() {
Table("History");
Id(x => x.Id);
Map(x => x.Type).CustomeType<TypeEnum>();
Map(x => x.ContentID);
Map(x => x.HistoryDate);
}
最后做了:
Map(x => x.ActivatedDate)
.ReadOnly()
.Formula(
string.Format(
"(select top 1 h.HistoryDate from History h where h.ContentID = Id AND h.Status = 'Activated' order by h.HistoryDate desc)"));
你的意思是在中的ActivateDate吗?我不知道如何映射标记。ActivateDate?执行此操作后,我决定执行一些反规范化操作,并将ActivateDate列添加到我的标记表中。
Map(x => x.ActivatedDate)
.ReadOnly()
.Formula(
string.Format(
"(select top 1 h.HistoryDate from History h where h.ContentID = Id AND h.Status = 'Activated' order by h.HistoryDate desc)"));