我是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