从列中获取所有类别值

时间:2011-06-08 17:10:54

标签: c# hibernate nhibernate

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

我需要放入一个List,并将其返回。

我有这个:

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

这个问题就是返回所有表“Movie”,而我只需要“Category”列。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

应该可以做这样的事情(假设category是一个字符串):

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

这也假设您正在使用nhibernate 3.x。

答案 1 :(得分:0)

试试这个:

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