tags:

views:

205

answers:

4

I was having troubles earlier while trying to declare a ChangeAction parameter in a method, with the IDE saying I might be missing a Namespace.

So I right click it and Resolve it and find that System.Data.Linq has been added and now everything is fine.

What is the difference between these two namespaces?

+5  A: 

I believe System.Linq is LINQ-OBJECTS specific (IEnumerable, IQueryable, etc)

Whilst System.Data.Linq is LINQ-SQL specific (DataContext, etc)

RPM1984
+8  A: 

As I understand it, System.Linq is about the overall Linq library -- it applies to all data types like Lists and such.

System.Data.Linq is about databases (aka Linq to SQL), which includes tracking changes (ChangeAction).

Matt Sherman
+1  A: 

To my understanding, System.Linq is generic-level implementation which relies on IEnumerable whereas System.Data.Linq is provider-specific (LINQ to SQL) which relies on IQueryable.

Kthurein
+1  A: 

As described here:

http://msdn.microsoft.com/en-us/library/system.data.linq.aspx

System.Data.Linq is for accessing relational data

Patrick Säuerl