NHibernate 3: is it worth migrating? - migration

We are using Nhibernate 1.2 on a big .NET 3.5 C# project and we are considering upgrading to Nhibernate 3.1. But I'm a little puzzled as I don't find over the Internet much articles dealing with
improvements of the new versions (2.0 -> 3.1)
benchmarks between 1.2, 2.x, 3.x
Most of the time people are just saying: NHibernate X.Y is out, it's great, it's wonderful, you have to upgrade, and linking to the ChangeLog.
By far I just have heard of Linq2Nhibernate & MultiCriteria, nothing on performance benchmarks.

If you don't encounter any issue and do not need to upgrade your application, the "if it's not broken, do not fix it" rule applies.
Otherwise : What do you gain from upgrading NHibernate 1.2?

Related

NETCORE ConfigurationRoot Memory Leak

We are facing memory leak issue with ConfigurationProviders ConfigurationRoot.
Looks like this issue may have been fixed
https://github.com/aspnet/Extensions/issues/861
However, Microsoft.Extensions.Configuration 3.0.0 requires NETCORE 3.0. Can someone please confirm how this fix can be applied with .NETCore 2.2.7? We do not want to upgrade to NETCORE 3 yet, as we have time constraints for project delivery.
This is specifically related to the reload change token, so I would assume disabling reload on the JSON files would negate the issue. That means you'd have to restart your app if you made any changes to the JSON files, but that really shouldn't be much of an issue, as you should really only be making configuration changes as part of a new build and deployment anyways (via your CI/CD pipeline).
Otherwise, no, you'd have to upgrade to Core 3.0, unless this fix gets back-ported into the 2.1 LTS release. That's actually a possibility, so it might be worth calling it out on the issue, since a memory leak is a pretty serious issue to leave unchecked in an LTS release. It might have just flown under the team's radar.
The other possibility is that is is back-ported into 2.1, but since you're on 2.2, it's not there. I'm not sure if they'd necessarily back port it into 2.2, since that's not an LTS. As such, your choice may boil down to down-grading to 2.1 or upgrading to 3.0. That's the breaks of the game when you're not not on the LTS release - upgrading may be required.
This issue has been sorted, see details here
https://github.com/aspnet/Extensions/issues/2576

What Mono version to use

I'm starting a new project that'll require Mono and mod_mono to run under CentOS. There are two versions of Mono: the release which is 2.10.8, and the development branch, which is 3.0.7 as of today.
I'm wondering what would be the right version to start. Obviously the stable version would be my choice, but I'm not sure what Mono 3.0 adds that could be missing from 2.10. Note that the project will be ASP.NET 4.0, using MVC4.
What version would be recommended? The stable but older one (dates back from 19-Dec-2011!) or the more recent one?
Mono 2.10 supports ASP.NET MVC3, since you want to use MVC4, you'll have to use a later version.
More recent versions of Mono have solved a lot of issues in 2.10, including issues related to ASP.NET.
So you may want to go for a more recent version. I don't think stability will be an issue,
but you will have to perform proper tests to determine if the version you are using supports everything you are trying to do in your application.
Don't deploy to production without testing.
UPDATE: Correction, there is 'partial' MVC4 support in 2.10 and no support for async.
So while you might be able to use 2.10, your mileage may vary depending on what features your app uses

Selecting the Correct NHibernate Package in NuGet to Get Lazy Loading Support

I am using NHibernate in a project, and I am trying to add it to my solution using NuGet. When I search for NHibernate in the package manager I see three different results:
NHibernate, version 3.2.0.4000, "NHibernate is a mature, open source object-relational mapper for the .NET framework. "
NHibernate.Castle, version 3.1.0.4000, "This package enables the ability to use lazy-loading with Castle dynamic-proxy."
NHibernate.LinFu, version 3.1.0.4000, "This package enables the ability to use lazy-loading with LinFu dynamic-proxy."
I would like to use lazy loading in this application, but the most recent package with a version of 3.2 makes no mention of it. Do I need to download either the .Castle or .LinFu versions to get lazy loading support, even though they appear to be older versions of NHibernate? Does NHibernate 3.2 incorporate lazy loading without requiring the need for the external Castle or LinFu proxy implementations?
Thanks for any advice.
No, you don't need to download anything besides NH 3.2.
NHibernate 3.2 removes almost all dependencies, including the ones for lazy load, now it comes with a built-in bytecode provider.

Does Symfony 2.0 Support Propel?

Soon Symfony 2.0 will release and i have visited its website i.e www.symfony.com, but in Documentation and ebooks its only giving Doctrine as ORM. Have they stopped supporting Propel?
Because i am using Symfony1.4 with Propel as ORM, and i am comfortable with Propel. Do i have to migrate to Doctrine, or just they will bring on Propel after stable release.
There is a Propel bundle available: http://symfony2bundles.org/willdurand/PropelBundle But I don't know how stable it is.
I'm the creator of this bundle. It works fine and it's up to date :)

ibatis.net or nhibernate on mono

I need a stable orm or dataccess framework to use with mono 2.4.2.3. Does anyone used ibatis.net (3.0 alpha or older) or nhibernate 2.1 on mono, are they solid enough for production use ?
Regards,
sirmak
I haven't used IBatis but I have used NHibernate and have had no problems with it at all.
I am still running against mono 2.4.
Our parent corporation has a framework that uses iBatis for the ORM stuff. They chose it because our corp's enterprisey server stuff is about evenly divided between java and .net.