Я работаю над дизайном уровня доступа к данным, мы еще не доработали, какой ORM мы собираемся использовать.
Я склоняюсь к NHibernate + FluentMappings + Nhibernate.Linq, но в зависимости от сроков проекта мы можем даже ждать EF4. Я хочу заменить методы, такие как:
IList<Customer> FindById(int id);
IList<Customer> FindByName(string fullName);
до
IList<Customer> FindByCriteria(Func<Customer, bool> criteria);
или даже
IList<T> FindByCriteria(Func<T, bool> criteria)
поэтому идея состоит в том, чтобы динамически связать или построить критерии, основанные на требованиях (от пользовательского интерфейса или бизнеса), к хранилищу или объекту DAO. Любые примеры кода, ссылки, сообщения в блогах, советы приветствуются.
Заранее спасибо!