从列中获取所有类别值

本文关键字:获取 | 更新日期: 2023-09-27 17:58:53

NHibernate。我需要从sql数据库中的列类别中获取所有值。

我需要填写一份清单,然后退回。

我有这个:

    public IList<Movie> GetMovieCategories() 
    {
        using (ISession session = NHibernateSessionBuilder.OpenSession()) 
        {
            return session.CreateCriteria(typeof(Movie)).List<Movie>();
        }
    }

问题是返回所有的表"Movie",而我只需要列"Category"。

我该怎么做??

从列中获取所有类别值

试试这个:

public IList<string> GetMovieCategories() 
{
    using (ISession session = NHibernateSessionBuilder.OpenSession()) 
    {
        return session.CreateCriteria(typeof(Movie)).SetProjection(Projections.Property("Category")).List<string>();
    }
}

应该能够做这样的事情(假设类别是字符串):

public IList<string> GetMovieCategories() 
{
    using (ISession session = NHibernateSessionBuilder.OpenSession()) 
    {
        return session.QueryOver<Movie>()
               .Select(c => c.Category)
               .List<string>();
    }
}

这也是假设您使用的是nhibernate 3.x。