public class Category
{
public virtual int Id { set; get; }
public virtual string Name { set; get; }
public virtual int CategoryOrder { set; get; }
public virtual IEnumerable<News> LatestNews { set; get; }
}
public sealed class CategoryMap :ClassMap<Category>
{
public CategoryMap()
{
LazyLoad();
Id(x => x.Id);
Map(x => x.Name);
Map(x => x.CategoryOrder);
HasMany(x => x.LatestNews);
}
}
IRepository<Category> newsRepo = new NHibernateRepository<Category>();
using(var session = newsRepo.GetSessionFactory().OpenSession())
using(var transaction = session.BeginTransaction())
{
var result = session.Query<Category>().OrderBy(x => x.CategoryOrder);
transaction.Commit();
}
我有这个类别类,我想为每个类别显示一个(只有一个)新闻。这是正确的映射吗?或者我应该把它改成Map
当我运行它时,它会获取每个类别的所有新闻。但我想要每个类别的最新消息(只有一个)。我可以通过查询获得最新消息News.DateUpdated
。
我应该如何更改查询以获取每个类别的一条新闻?
或者我如何获得一些新闻?即:限制我可以查询的新闻数量?