NHibernate.Remote update coming soon

The summer air is getting warmer and I’d rather be outside than inside coding.  However that hasn’t stopped work on NHibernate.Remote.  Several major changes are in the works and should be out shortly.

1) The generic messaging layer has been improved, unit tests and documentation have been added.  It is also now much faster.

2)Support for Criteria Queries and hopefully Linq is being added.

3)Better support for saving entities  with non Guid keys.

So if you have been wanting to give this a try,  you may want to wait a week untill the next version comes out.

10 Responses to “NHibernate.Remote update coming soon”

  1. Martin Nyborg Says:

    Keep up the good work; it’s getting better and better.

    I think that there are too many people thinking that having the database server outside the reach of the local network demands them to write some kind of webservice.
    I think like you do – that there are many programmers out there that just want to take their good old winform application and make it work anywhere via click-once. Just imagine that the only thing they have to do was changing the connection string?

    A question, do you know about the ORM XPO if not here is a link. http://www.devexpress.com/Products/NET/ORM/blogs.xml. It’s not the best around in fact you have to code the XPO way or forget about the product (no composite keys, no SP and the list go on). BUT it’s got one very interesting feature the IDataStore (http://www.devexpress.com/Help/?document=xpo/devexpressxposimpledatalayer_ctortopic1.htm).
    Instead of sending the object over the wire there are sending the provider specific sql to a datasource that implements IDataStore. I think that it’s the right way to go. In that way you don’t have to code you objects or collections to be Serializable.

    There is also another project on codeplex that’s sends the linq expressions tree to the server and not the object graph. It is a LINQ to SQL contrib. project.

    And you can also look at ADO.NET Data Services as a remote OR/M if you are using the DataServiceContext on a .NET client using winforms or silverlight.

    Then you can have code like this
    [TestMethod]
    public void GetAllBlogs()
    {
    var svc = new BlogEntities(new Uri(“http://localhost:5555/BlogService.svc”));
    var query = (from p in svc.Blogs select p);
    foreach (var blog in query)
    {
    Console.WriteLine(blog.BlogName);
    Console.WriteLine(blog.Owner);
    foreach (var post in blog.Posts)
    {
    Console.WriteLine(post.Title);
    }
    }
    }

    Just wanted to give you some inspiration. And maybe push you in another direction because what I want for Christmas is NHibernate with an IDataStore – is that to much to ask 🙂

    Sorry for my spelling ..

  2. SS Says:

    Has there been any further progress with this? I’m certainly looking to try it out – lazy loading over WCF would be sweet!

  3. Daniel Guenter Says:

    Progress is slow but it is forthcoming. I’ve been diverted to another project here at work for a couple of weeks, but I’ll be back to finishing up the next release shortly, I hope.

  4. Asger Says:

    Hi Daniel
    This is a very exciting project, and I would very much like to use it for a project I’m doing right now. You do say that it will take a while until it’s production ready and, so my question now is: Is there anything I can do to help getting there sooner?

    Will you drop me an e-mail, if you are interested?

    /Asger

  5. Tommaso Caldarola Says:

    Hi, I’m svn getting source code to take a look because I have done a similar implementation using NH and Remoting (here you find the prototype http://code.google.com/p/remoting-nhibernate). This system is in production since 2006.

    Tommaso

  6. Daniel Guenter Says:

    @Tommaso
    That’s very interesting. I’ll certainly take a look at your project to see how you are doing it. When considering using NHibernate over the network I had considered Remoting as it seemed to be a bit better of a fit than WCF. However I decided against it as MS is obsoleting Remoting with the advent of WCF (For better or worse).

  7. selva Says:

    We are evaluating nHibernate.Remote. While accessing the openSession from client we are getting below exception,

    Could not load type ‘NHibernate.Remote.Communication.RemoteSessionServiceClient’ from assembly ‘NHibernate.Remote, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null’ because the method ‘GetFactorySettings’ has no implementation (no RVA).

    Exception is thrown in RemoteSessionImpl constructor.

    RemoteSessionImpl remoteSession = new RemoteSessionImpl(this)

    Could you please let us know the root cause of this issue?

  8. Amer Javaid Says:

    I’m having the same problem when running NHibernate.Remote project from Visual Studio 2008. Is anybody have solution of it? The error is:

    Could not load type ‘NHibernate.Remote.Communication.RemoteSessionServiceClient’ from assembly ‘NHibernate.Remote, Version=0.2.0.0, Culture=neutral, PublicKeyToken=null’ because the method ‘Clear’ has no implementation (no RVA).

  9. amitjain Says:

    Selva

    Where did you get Version 1.0.0. The code and binaries have version 0.2.0.0

  10. Daniel Guenter Says:

    Unfortunately these problems are caused by a hard dependency to PostSharp which adds these methods at compile time. My mistake was not integrating the PostShap build commands into the MSBuild file. Fixes for this would be to install PostSharp and recompile the project. But there are other more serious underlying problems see http://slagd.com/?p=70

Leave a Reply