As others have said, NHibernate is a solid foundation to work with. It is quite mature and has many features that allow you to precisely control what will happen to your date.
If you are just starting out with database programming, you can also consider LinqToSql . It is not as strong as NHibernate, and was more or less EOL ed. However, what you throw in power, you get in simplicity. This will allow you to get the basic database application and run, probably within minutes, and let you experiment when you first find out. Despite the ease of launching your first application and its operation, it is still powerful enough to be used to create something like Stack Overflow .
Some good Linq to Sql source resources:
- Nerddinner
- ScottGu Series: Using LINQ to SQL (link to part 9 because it has links 1 through 8 at the top). Although it does not have an application download (I can best say), it basically guides you through building the application.
If you are looking to learn about NHibernate, you can also start with the NerdDinner tutorial above and take a look at Ayende's entry by placing it in NHibernate, as well as a series on mapping NerdDinner with NHibernate. There is also a series of articles about using NHibernate in a WPF application (most of the other guides focus on web applications).
Resources
One thing that I canโt stress enough is when you go through the initial phase of โcool ... I can talk to the databaseโ, take a trial license for the corresponding profiler (list of profilers at the top) for your platform. This will allow you to see what exactly your ORM sends to the database. This can be very useful for learning how what you do is converted to SQL and also eliminates the errors you encounter.
No matter which path you choose, you should also take a look at Microsoft.Net Data Access Practices: A Fun Comparison and Developing GPS Data: A Guide for Choosing the Right Data Access Technology for Your Application Today . Although These Technologies cover only Microsoft technologies, this will give you a high-level overview of what is available there, and when it may not be suitable for your projects (in the future).
R0MANARMY
source share