我仍然在學習編程,因爲你可以通過我的問題來說明問題。爲什麼我必須添加System.Data.Entity才能使用System.Data.Objects?
我該如何添加System.Data.Entity作爲我的項目的引用來使用System.Data.Objects?對象是否存在於命名空間System.Data.Objects中?對於生活在System.Data.Entity.Objects中的對象有沒有意義?
我仍然在學習編程,因爲你可以通過我的問題來說明問題。爲什麼我必須添加System.Data.Entity才能使用System.Data.Objects?
我該如何添加System.Data.Entity作爲我的項目的引用來使用System.Data.Objects?對象是否存在於命名空間System.Data.Objects中?對於生活在System.Data.Entity.Objects中的對象有沒有意義?
命名空間和程序集是完全獨立的概念。 有時候 - heck,經常會他們會匹配起來的,但是他們肯定不會。例如,您不傾向於使用mscorlib
名稱空間:)同樣,大多數System.Linq
類型都在System.Core.dll
中。一個程序集可以包含多個名稱空間中的類型,並且多個程序集可以貢獻相同的名稱空間。
這是值得保持這兩個概念在你的頭腦中儘可能不同。幸運的是,很容易從MSDN中找到哪種類型的「生活」。
.NET命名空間是交叉裝配。這允許庫設計人員適當地擴展特定的名稱空間,而不會污染具有非核心功能的核心庫。單個DLL的命名是不幸的,但並不打算按照您的想法反映名稱空間信息。
在您的示例中,System.Data.Entity是一個包含來自多個不同名稱空間的元素的DLL。正如你所發現的,其中之一就是System.Data.Objects。
這是有道理的。謝謝! – jayblaze2 2010-07-10 20:40:37
命名空間System.Data.Objects
在System.Data.Entity.dll中定義。
該程序集被稱爲System.Data.Entity
這意味着DLL System.Data.Entity.dll
。
System.Data.Objects
是該程序集中的命名空間。
單個程序集可能包含一個或多個可能全部使用不同名稱的名稱空間。
這進一步澄清@mike的答案。謝謝! – jayblaze2 2010-07-10 20:41:22