我有一個名爲Show的屬性「Country」是對另一個表的引用。使用NHibernate Criteria API從引用對象獲取特定結果的問題
顯示類
public class Show
{
public virtual int ID { get; set; }
public virtual Country CountryOrigin { get; set; }
public virtual string EnglishName { get; set; }
}
國家類
public class Country
{
public virtual int ID { get; set; }
public virtual string Name { get; set; }
}
我擁有這一切映射和工作,但現在我想獲得更具體的結果。我已經使用標準API來獲取所有數據並對其進行分類,但現在我只想根據國家/地區名稱獲取節目。這是我認爲會起作用的東西,但實際上並沒有。
public IList<Show> AllShowsByCountry(string countryName)
{
IList<Show> shows;
shows = _session.CreateCriteria(typeof(Show))
.Add(Restrictions.Eq("CountryOrigin.Name", "China"))
.AddOrder(Order.Asc("EnglishName"))
.List<Show>();
return shows;
}
我在想,限制的第一部分可能與HQL類似,您可以使用對象。
1)我想的問題是我誤解了HQL的工作原理或標準或兩者兼而有之?
2)另外你會如何正確使用標準?
更新 這裏是我得到
could not resolve property: CountryOrigin.Name of: Entities.Show
你會得到任何錯誤? – 2010-06-25 02:20:50
這可能會有用。我用它更新了這篇文章。 – percent20 2010-06-25 02:25:38