【问题标题】: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();