Если вы используете NHibernate 3, реализовать контекст данных довольно просто.
public class YourDataContext
{
public ISession Session { get; private set; }
public YourDataContext(ISession session)
{
Session = session;
}
public IQueryable<Customer> Customers
{
get
{
return Session.Query<Customer>();
}
}
}
То же самое возможно в NHibernate 2, но немного по-другому.Вам понадобится библиотека NHibernate.Linq, которая находится в модулях contrib.
public class YourDataContext:NHibernateContext
{
public YourDataContext(ISession session)
: base(session){}
public IOrderedQueryable<Customer> Customers
{
get
{
return Session.Linq<Customer>();
}
}
}
Я предполагаю, что вы спрашиваете о текстовом тексте, который вы хотите использовать Linq, и если это так, вам определенно следует использовать NH3, поскольку поставщик linq значительно улучшен.
Следует отметить, что текст данных в EF и текст данных в NH будут вести себя по-разному, поскольку NH не выполняет объекто-отслеживание, а EF делает, средидругие вещи.Когда вы узнаете об этом, вы увидите другие различия.