How to deal with database access in a long-term two-tier application?
I am currently working on a server application that needs to deal with a reasonable number of clients over TCP on a LAN. The tasks that the server must perform range from trivial to slightly complex, and most of them involve interacting with the database. I would like to make the database access asynchronous since not all queries are equally complex.
The question I have is the best way to deal with database access in this application? Is it advisable to use persistence layer or DAL (e.g. NHibernate, Subsonic)? I am concerned about potential leaks, possible GC issues that can have a negative impact on uptime, and what to think about in long life applications.
a source to share
The main benefit you get from using an O / RM tool like NHibernate is essentially performance. Vendors have been working on such tools for many years and the level of sophistication of an average tool / RM now far exceeds the capabilities of a single person or small team.
Using the O / RM tool doesn't necessarily give you extra days off. And the O / RM tool is not really a wizard tool or quick application development tool. However, it is still a programming tool and complex. Using an O / RM tool can improve your productivity if you know the tool and supply a well-built domain model.
I'm not familiar with Subsonic, but NHibernate is a mature product that is currently being used successfully in a large number of enterprise applications around the world. If the product had significant bugs, such as leaks or negative impact on uptime, this would certainly be tested and fixed.
a source to share