我是NHibernate这个伟大世界的新手.我使用的是2.0.1.GA版.这是我的问题.我有一个Cars包含列Manufacturer(nvarchar(50))和主键的表ID(int).我的.NET类是:
public class Car
{
public virtual int ID { get; set; }
public virtual string Manufacturer { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我想要检索梅赛德斯生产的所有汽车,我必须输入:
using (var session = OpenSession())
{
var cars = session
.CreateCriteria(typeof(Car))
.Add(Restrictions.Like("Manufacturer", "Mercedes"))
.List();
// ...
}
Run Code Online (Sandbox Code Playgroud)
我不喜欢这样的事实,我需要将属性名称指定为字符串:(是否可能有更多的重构友好(这只是一个建议)?
var ms = session
.CreateCriteria<Car>()
.Add(c => c.Manufacturer, Restrictions.Like("Mercedes")
.List();
Run Code Online (Sandbox Code Playgroud)
在当前版本(2.0.1.GA)或未来版本中有什么类似的东西?