Ok, I think I have all my configurations right and now I am just trying to do a select query from the database selecting some data. Now I am using NHibernate 3.0 which I though by default support LINQ (or at least a good portion of link. Now every LINQ example I find has this code
session.Linq<User>()
but I for the life of me can't find how or where session is being set. Is this that proper why of doing in in 3.0 and if so how do I set sessions (what usings do I need, classes, methods, etc...)? If not, what is the proper way of using LINQ with NHibernate 3.0?
UPDATE:
Now I have the following code:
var configuration = new Configuration();
configuration.Configure();
configuration.AddAssembly(typeof(Tag).Assembly);
var sessionFactory = configuration.BuildSessionFactory();
var session = sessionFactory.GetCurrentSession();
but I get a compiler error saying that NHibernate.ISession does not have a definition for Linq. I have the follow usings:
using System.Collections.Generic;
using System.Web.Mvc;
using MyProject.Models;
using MyProject.ViewModels.Desktop;
using NHibernate.Cfg;
Am I missing something?
You need to import the namespace:
using NHibernate.Linq;
Also, it's now:
session.Query<TEntity>();
instead of:
// Deprecated
session.Linq<TEntity>();
You get a session from the NHibernate SessionFactory.CreateSession()
method. Once you have one, you can then use either HQL queries, the NH query API or LINQ to access the data.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With