I am still learning about programming as you can probably tell by my question.
How come I have to add System.Data.Entity as a reference to my project to use System.Data.Objects? Does Objects live in namespace System.Data.Objects? Wouldnt it make sense for Objects to live in System.Data.Entity.Objects?
Namespaces and assemblies are entirely separate concepts. Sometimes – heck, often they will match up, but they certainly don’t have to. You don’t tend to use the
mscorlibnamespace, for example 🙂 Likewise most of theSystem.Linqtypes are inSystem.Core.dll. One assembly can contain types in multiple namespaces, and multiple assemblies can contribute to the same namespace.It’s worth keeping the two concepts as distinct in your mind as possible. Fortunately it’s easy to find out where a type “lives” in both respects from MSDN.