What is the difference between System.Linq and System.Data.Linq?
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?
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).
I believe System.Linq
is LINQ-OBJECTS specific (IEnumerable, IQueryable, etc)
Whilst System.Data.Lin
q is LINQ-SQL specific (DataContext, etc)
As described here:
http://msdn.microsoft.com/en-us/library/system.data.linq.aspx
System.Data.Linq is for accessing relational data
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.
精彩评论