如何编写HQL来获取它?

时间:2010-09-03 13:27:59

标签: nhibernate hql

我有一个名为Continent and Country的课程。

大陆班有国家集合:

    private ISet<Country> _countries;
    public virtual ISet<Country> Countries
    {
        get { return _countries; }
        set { _countries = value; }
    }

我想编写一个HQL查询,该查询将使所有国家/地区至少有一个国家/地区名称为“A”的国家

我的国家/地区有财产:

    public virtual string CountryName { get; set; }

我的.hbm.xml文件包含Continent和Country对象的Db关系信息。

我应该如何编写HQL:

public IList<Continent> GetContinentsWithCountriesStartingWithLetter(char letter)
        {

            string query = ":letter"; //The query to be used
            return
                _session
                    .CreateQuery(query)
                    .SetString("letter", letter.ToString())
                    .List<Continent>();
        }

谢谢!

1 个答案:

答案 0 :(得分:3)

return _session
    .CreateQuery("from continent in Continent inner join continent.Countries country where country.Name like :letter")
    .SetString("letter", letter)
    .List<Continent>();