我正在使用ASP.NET MVC开发一个Web应用程序,并使用FluentNHibernate进行ORM。 我面临一种情况。
我有8个表,分别是A,B,C,D,E,F,G,H,每个表都有10个属性,其中平均5个是必须在视图中作为下拉列表填充的列表
现在,必须从数据库中提取这些值。我已经为表A中的每个下拉属性构建了具有值的单个表,例如,HighestEducation是A中的属性,下拉值包括Undergrad,Masters,Doctorate等。
我想为该表构建一个紧密耦合的ADO.NET实体模型,但似乎无法这样做。有关如何解决这个问题的任何建议吗?
答案 0 :(得分:0)
Assuming
class Person
{
public virtual Education HighestEducation { get; set; }
}
class PersonMap : ClassMap<Person>
{
public PersonMap()
{
References(p => p.HighestEducation);
}
}
然后在查询时急切获取
var persons = session.Query<Person>()
.Where(...)
.Fetch(p => p.HighestEducation)
.Fetch(p => p.LikelyHoodToFly)
.Fetch(p => p.LikelyHoodToExplode)
.Fetch(p => p.SomethingElseType)
.List();
或使用期货(一次往返)加载它们并依赖第一级缓存
session.Query<Education>().Future();
session.Query<SomeThingElse>().Future();
session.Query<LikelyHood>().Future();
var persons = session.Get<Person>().Where(...).Future();