我正在开发一个应用程序,该应用程序具有使用比赛结果/时间等的模型。
我有一个看起来像这样的模型:
public class Competitor
{
public virtual int ID { get; set; }
public virtual string Name { get; set; }
public virtual DateTime DateOfBirth { get; set; }
}
public class Event
{
public virtual int ID { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
}
public class Result
{
public virtual int ID { get; set; }
public virtual decimal ResultTime { get; set; }
public virtual Competitor Competitor { get; set; }
public virtual Event Event { get; set; }
}
在我的数据库中,我只能访问表示数据“平面” View 的 View 。这看起来像:
vResult
结果ID
结果时间
竞争对手ID
竞争对手名称
参赛者出生日期
事件ID
事件名称
事件描述
所以,我试图避免拥有一个完全匹配上述“平面”模式的类(如果可能的话)
是否可以将其映射到 Fluent nHibernate 中?
编辑-
值得一提的是,数据访问将是只读
最佳答案
正如上面的评论所指出的,确实是 Component
解决了这个问题。
按照我的 ResultMap
类中的以下内容:
Component(x => x.Event, m =>
{
m.Map(x => x.ID).Column("EventID");
m.Map(x => x.Name).Column("EventName");
m.Map(x => x.Description).Column("EventDescription");
});
关于c# - 在流畅的 nHibernate 中将平面 View 映射到类层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11206964/