Best ORM for C #

Asked byruiisu

The essence of the problem is as follows: it is required to store information on the state of the object in the database (for example, we monitor the valve at the pump station of the second lift). The parameters of the observed unit can be many - it is temperature, vibration, current values, the percentage of rotation. In addition, it is necessary to save the so-called temporary "snapshots" (values ​​of all parameters) of the state of the unit with a given frequency, for example, once a minute, or upon an event (when opening the valve), in order to be able to analyze any abnormal situations.
I want to work with data as objects at the highest level, having the functions of a query and recording their state without deep diving into SQL. I thought about using ORM, as in my opinion they are intended for this purpose. In general, advise any standing system.

We use the very lightweight ORM "Dolphin". The reasons are as follows. Entity Framework requires a lot of manual work. For example, when changing a table in a database, you will have to edit classes with your hands. And try to delete some field ... In addition, it does not allow you to limit the selection to only the required fields. Work efficiency drops significantly. Dolpin — allows customizable, efficient samples from the MSSQL database. In addition, dolphin is just a wrapper on and this explains the high speed of work. - b


candy link
It is interesting, but it’s about the ORM for .NET that I can say for sure that the best (really the best) that you were given to use is MindScape LightSpeed. First of all, because when designing, I follow the paradigm of Domain-Driven Design, and there it is supported by 5+, and also thanks to the tremendous speed of work.
But it has one global flaw - it is not free (I do not consider the Express version seriously, the restriction of 8 model objects is too constraining).

Next - anyone who approaches this issue, certainly faces a fork - the Entity Framework or NHibernate. Here is a matter of taste, personal preferences, and approach to development. NHibernate is much more mature and "ready" than EF, but EF has visual designers, and other MS-ovsky goodies. NHibernate, as mentioned above, is better to use with Fluent-NHibernate, if you don’t like writing tons of XML :)

In addition, if you need to use the ActiveRecord pattern (it can be very applicable in your case) - you should definitely watch NHibernate and SubSonic.
amy booth
above recommend NHibernate, but I believe that for an author who is not yet familiar with ORM, NHibrenate is redundant. I recommend the author to use the Entity Framework 4, which has a handy visual editor and full LINQ support (which NHibernate is lame in).
Enjoyed NHibernate, Entity Framwork, Linq2Sql, Gentle.Net. IMHO NHibernate is currently the most flexible and most advanced ORM. Immediately recommend using it in conjunction with FluentNhibernate. ENtityFramework is gradually being chosen for NHibernate, so if you want to use anything directly from MS, use it.
Yes, yes, I'm just looking at NHibernate and have already learned about FluentNhibernate. Good, I think a bunch. Most of all I like the large list of supported databases, since I’ll have to work with both SQLite and MS SQL Server. Most likely this will be my choice. "NHibernate in Action" to help me. - lona
karen doughty
Because I only used it, I can’t recommend another one ... I can also try EntityFramework, but after using NHibernate, I didn’t like the configuration of displaying objects on the base.
youngmin yook
Probably here the answer depends on the task. For small projects, I strongly advise BLToolkit. I also recommend the site
I ask the petition, in the morning did not notice that the task is described. - stephen connolly
DoubleVPN do it yourself. Is it possible to? :: Books on Zend Framework :: Advise material on OpenSSL :: Are there options for porting applications from iOS to Android and back? :: Geographically Distributed MySQL
Leave Repply forBest ORM for C #
Useful Links