Я новичок в великом мире NHibernate. Я использую версию 2.0.1.GA. Вот мой вопрос. У меня есть таблица Cars
с колонкой Manufacturer(nvarchar(50))
и первичный ключ ID(int)
. Мой класс .NET является:C# Лямбда-выражения и NHibernate
public class Car
{
public virtual int ID { get; set; }
public virtual string Manufacturer { get; set; }
}
Теперь, если я хочу, чтобы получить все автомобили, сделанные Mercedes я должен напечатать это:
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