【问题标题】:extracting values to be populated in a dropdown from SQLite database从 SQLite 数据库中提取要填充到下拉列表中的值
【发布时间】:2012-03-18 22:33:14
【问题描述】:

我正在开发一个使用 ASP.NET MVC 并使用 FluentNHibernate for ORM 的 Web 应用程序。 我面临一个情况。

我有 8 个表,分别是 A、B、C、D、E、F、G、H,每个表都有 10 个属性,其中平均 5 个是必须作为下拉列表填充到视图中的列表.

现在,必须从数据库中提取这些值。我已经为表 A 中的每个下拉属性构建了单独的表,其中包含值,比如 HighestEducation 是 A 中的一个属性,下拉值包括本科、硕士、博士等。

我想为该表构建一个紧密耦合的 ADO.NET 实体模型,但似乎无法这样做。关于如何解决这个问题的任何建议?

【问题讨论】:

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


    【解决方案1】:
    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();
    

    【讨论】:

      猜你喜欢
      • 2016-01-09
      • 2011-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-25
      相关资源
      最近更新 更多