提取要在SQLite数据库的下拉列表中填充的值

时间:2012-03-18 22:33:14

标签: asp.net-mvc-3 fluent-nhibernate sqlite fluent-nhibernate-mapping

我正在使用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实体模型,但似乎无法这样做。有关如何解决这个问题的任何建议吗?

1 个答案:

答案 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();