I want to create a website, with many users and obviously with a big amount of database, and I do not have experience in either EF or NHibernate, what is recommended one for me?
MVC is framework mainly concentrates on how you deliver a webpage from server to client. Entity framework is an object relational mapper which helps you to abstract different types of databases (MSSQL,MySQL etc) and helps querying objects instead of having sql strings in our project.
nHibernate supports all types of databases but Entity framework need additional connectors to support databases other than MSSQL. nHibernate can be extended in terms of data loading, SQL generation, custom column types, custom collections etc but entity framework has limited extension points.
Entity Framework is the best way to develop database applications. I used to develop my applications using LINQ to SQL but since Microsoft is not going to support it in future, it recommends to use Entity Framework. By the way, Entity Framework 4 in . NET 4 has much better performance than previous versions.
NHibernate and Entity Framework both are equally capable Object Relation Mapping (ORM) and suitable for all types of ASP.NET software applications.
EF is very well integrated with .NET and Visual Studio. Gives you a very good designer inside Visual Studio, and leverage LINQ to write queries that are very easy to read.
For me, this is a no-brainer. I would go with EF4 without a doubt.
If you are doing first time I would recommend you to go with EF because its easy to paly with it no more configuration and hidden properties....no need to apply any extra efforts just add the object and your task is done.
but if you are looking better performance go for NHibernate.
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