Backstory: Hi everyone, I just spent a lot of time reading many LINQ vs Nhibernate threads here and on other sites. I work in a small development team of 4 people, and we don’t even have really super experienced developers. We work for a small company that has many technical needs, but not enough developers to implement them (and there is no longer any chance of hiring right now).
Usually our projects (which are rather small individually) were encoded separately and were not actually multi-layered, the code was not reused, not class libraries, and we just use LINQtoSQL.dbml files for our projects, we really don’t even use objects, but we pass values and stuff, the only time we use objects is when pasting into a database (not even a query, since you don’t need to assign it to a type and can just snap to the grid view). Despite all this, since I said that our company has many technical needs, no one can come to us within a year, and we will have a lot of work to implement the requested functions.
Well, I decided to change this a bit first by creating class libraries and actually adding layers to our applications. There is a great opportunity to make some good applications with comprehensive functionality. I'm trying to meet these guys halfway, still using LINQtoSQL as an ORM and still using VB as a language. However, I find this for some time related to many things in LINQtoSQL that I found easily in Nhibernate (automatic session processing, creating criteria is easier than expression trees, general dynamic queries, etc.) ...
Question . How can I convince my lead developers and other senior programmers that switching to Nhibernate is good? Is control over domain objects good? Is this an opportunity to implement interfaces - is that good? I tried to take advantage of this before, but did not understand them, because they were never programmed in true OO and multi-level.
Also one of the counter arguments that I see is sqlMetal, which automatically generates these classes and therefore saves a lot of time. I can not resist this, except that spending more time on infrastructure to make it more scalable and flexible is good, but they cannot see how.
, ( , ) , , , . , .
(: LINQtoSQL LINQ, , , , entitites , , , .)