NHibernateAdvantages:
1. A complete ORM framework.
NHibernate provides a more complete encapsulation of the database structure, which maps the database schema to a more complete object model, supports encapsulation, continues the mechanism, has a strong function, and is more flexible than the general ORM.
Developers can manipulate databases exactly as they are in the object model.
2. Automatic code generation, reduce the amount of code and SQL development, so that developers get rid of the openSQL, ADO, and transactions, caches, and other underlying.
The NHibernate O/R mapping implements the PO andMapping between database tables, and the automatic generation and execution of SQL. Programmers often simply define the mapping of a PO to a database table to complete the persistence layer operation through the method provided by NHibernate. Programmers do not even need to be proficient in SQL, and NHibernate automatically generates the corresponding SQL based on the stored logic and calls the ADO. NHibernate has tools to generate the PO class directly from the database schema, or to automatically generate the configuration file by adding the attribute property in the code.
All of this reduces development effort.
3. Good documentation support.
NHibernate's code readability and documentation are better.
Disadvantages:
1. More complex, the learning curve is large.
2. There is a high requirement for the database schema. NHibernate need database has good design and relatively perfect constraints.
3. Not suitable for statistical query system. For multi-table checking, complex SQL implementations are more complex and may require additional scenarios.
4. Some XML configuration is required.
NHibernate Advantages and Disadvantages: