我是NHibernate的偉大世界的新手。我正在使用版本2.0.1.GA.這是我的問題。我有一個表Cars
列Manufacturer(nvarchar(50))
和主鍵ID(int)
。我的.NET類:C#Lambda表達式和NHibernate
public class Car
{
public virtual int ID { get; set; }
public virtual string Manufacturer { get; set; }
}
現在,如果我想要檢索梅賽德斯所做的所有車我必須鍵入:
using (var session = OpenSession())
{
var cars = session
.CreateCriteria(typeof(Car))
.Add(Restrictions.Like("Manufacturer", "Mercedes"))
.List();
// ...
}
我不喜歡的事實,我需要指定屬性名作爲一個字符串:( 是否有可能有一些更多的重構大概友好的(這只是一個建議)?
var ms = session
.CreateCriteria<Car>()
.Add(c => c.Manufacturer, Restrictions.Like("Mercedes")
.List();
任何像在當前版本(2.0.1.GA)變薄或在浮圖重新版本?
謝謝,沒有我頭頂的語法,+1 – 2008-12-04 21:54:04
我可能會觀察到「like」和「equals」不會產生相同的結果。我最近嘗試(不是很難)在NHibnate.Linq中找到一種「喜歡」的方法。我放棄了,而是使用了ICriteria。 – 2008-12-06 15:27:07