Up to now in my programming career (two years) I have not had much database experience, but the company where I now work uses databases extensively for their product, and I feel behind the curve.
So I would like to know how best to start learning database interaction with C#. I’ve read about LINQ-to-SQL and ADO.net. Are these the right technologies to look into?
Where do I start?
EDIT: Thanks for all the responses. There were many good ones – I had a hard time choosing one as “the” answer. This helps me greatly!
I would suggest investing your time in learning Microsoft SQL Server itself, Data Access Application Block from Enterprise Library and ADO.NET Entity Framework.
Entry point for learning SQL Server is here -> SQL Server Developer Center
Entry point for learning ADO.NET is here -> Learning ADO.NET at MSDN
First of all, in order to gain a good understanding of what ADO.NET is, check the links below:
Learn how to write direct queries in C# to SQL Server without using any frameworks and ORM tools, then proceed to learning more advanced technologies in ADO.NET family.
See also:
You may also want to download LINQPad, which is perfect tool for playing with LINQ.
Also I suggest subscribing to ADO.NET related RSS feeds:
Also check existing open source projects at CodePlex.com which use these technologies and digg into their source codes.
Great books on the subject for you: