I been curious about this for some time. It appears like you will find a lot of ways now I'm not sure when you should use what? Or maybe there's a indicate learn them. Like I'm not sure when they essentially do the same things and merely essentially stay with one until you master after that it maybe take a look at others.

Then when I had been taking an ASP.Internet course which was a part of my program.

We first did like ADO.Internet where we simply authored everything with SQL claims within the code. Then we moved onto a 3 tier architecture. It was made by making like classes and getting datasets that return stuff.

The SQL was designed in the category. Personally, i never really loved by doing this since i have always thought it was annoying with looking to get the quotes right and merely overall didn't enjoy it.

Then i located on the Asp.internet site their tutorial of three tier arch which i really loved. They where using typed data sets. You add the dataset file for you DAL folder and also you will make table plugs and stuff with the GUI. You would write you code during these GUI, I discovered it an ideal solution since now my SQL code was from my code and that i weren't required to be worried about quotes and all sorts of that stuff not right or closing the connections and stuff and it also even were built with a SQL GUI builder!

I Quickly would certainly make file within the BLL folder making a property to seize the table adapter and write my company layer logic.

The only real factor I didn't like was because it was typed if my stuff attempted to come back newer and more effective rows it might get mad.

Then when I needed to join tables It's my job to needed to create a new table adapter.

Presently there appears to become lots of them.

  • Linq -> what many people stated would replace ADO.Internet plus some stated it wouldn't.
  • Linq to sql
  • ado.internet

I don't know if that's these most likely not.

Before penning this publish Used to do a fast determine what linq to sql involved and saw some posts stating that MS was killing them back. They where from like 2008 so I'm not sure if this sounds like true or otherwise however i observed that the majority the MVC books use like linq to sql and so i don't believe it is.

Same with it worth switching to something another one then typed datasets? Or are each employed for different situations?

LINQ alone is simply a base technology ("Language Integrated Query") that's a part of C3. - it's nothing to complete by itself with databases. LINQ may be used against a number of things - databases, XML, objects in memory, Entity Framework organizations, Active Directory - take your pick.

Linq-To-SQL may be the lightweight, straightforward, MS-SQLServer only technology which enables you to employ SQL Server tables easily and nicely just as real objects inside your .Internet application. It is a "Object-relational mapper" which makes coping with databases simpler. It's SQL Server only, and Microsoft won't extend it much further - it's available, also insInternet 4., but will not be further developed anymore.

ADO.Internet may be the base data access technology insInternet - it offers a superior use of a multitude of data stores, relational and non-relational. It is the very fundamental technology - you cope with your computer data in an exceedingly low-level, raw manner.

In addition, you will find the ADO.Internet datasets, that are a little like Linq-to-SQL for the reason that they create it somewhat simpler to cope with databases. Unlike Linq-to-SQL, you are not coping with your objects out of your domain model inside your .Internet code, but rather you are coping with the database-oriented rows and posts much like they appear in the database. It is a more direct representation of what's within the database, it's on the lower level, it is extremely tightly combined for your database layout, and it is not as "nice" and simple to use as Linq-To-SQL objects - you cope with lowlevel rows and posts as well as their values.

If you possess the choice at this time, and do not need not SQL Server, I'd recommend looking at Linq-to-SQL - the mapping in the raw database tables to nice simple to use .Internet objects really makes your existence a great deal simpler!

Marc