2013-08-21 20 views
1

我試圖建立我的項目能夠使用的空間擴展,但我發現了以下錯誤,當我嘗試創建的.edmx:.NET框架4.5不承認geometery數據類型

警告6005:數據類型「幾何」目前不支持目標.NET Framework版本

那麼它只是創建EDMX並從模型中不包括幾何類型的列。一切都在編譯,我只是不能使用幾何的東西,因爲它不在那裏!

我的項目的目標是.NET 4.5框架,並使用實體框架5.0。一個警告是我使用MySql。我已經安裝了MySql .NET Connector 6.7.4以及Visual Studio等的所有更新,根據我所閱讀的所有內容,應完成設置以允許我執行我正在嘗試執行的操作。有誰知道我可能會錯過或做錯了什麼?我感覺好像我一直在撞牆撞牆!我已經開始質疑我是否知道如何使用Visual Studio。只是爲了再次檢查 - 如果項目屬性頁面的「目標框架」下拉菜單設置爲「.NET Framework 4.5」,這意味着我使用4.5正確?!如果Entity Framework參考的屬性部分顯示「5.0」,那麼它是5.0?即使運行時版本顯示「4.0.30319」?我安裝5.0,所以我不知道爲什麼運行時會有所不同...

我將不勝感激任何指導!我在這裏瘋了。我甚至嘗試手動添加屬性,但它不會讓我添加一個新的映射,並且構建會失敗!

在此先感謝!

其他信息:我不知道這件事是否重要,但我並沒有最初創建這些版本的項目。原來的MySql連接器是6.6.5。這可能會有所作爲嗎?像是有什麼地方需要更新的版本,我沒有改變?我更改了我的web.config成員資格提供程序部分,因爲它有版本號,但除此之外,我真的沒有在其他地方看到它。 dll(mysql.data和mysql.data.entity)在參考文獻中已被替換,但mysql.web仍然是6.6.5,因爲當我安裝6.7.4時,我沒有得到另一個版本的dll文件。6.7.4

+0

要回答你的問題的一小部分,'運行時版本'是dll所針對的.NET版本。 [4.0.30319.17929及更高版本](http://en.wikipedia.org/wiki/List_of_.NET_Framework_versions)是.NET 4.5(它也會爲.NET 4.0報告「4.0.30319」)。任何使用3.5報告「v2.0.50727」構建的東西 –

回答

0

幾何不是CLR類型,而是SQL Server數據庫類型。 DbGeography和DbGeometry是.NET 4.5中可用的類型,但您需要在代碼中引用System.Data.Spatial。

正如Rick Strahl的博客(http://weblog.west-wind.com/posts/2012/Jun/21/Basic-Spatial-Data-with-SQL-Server-and-Entity-Framework-50), 中提到的,沒有本機CLR空間類型。 DbGeography和DbGeometry類型特定於實體框架,並位於這些程序集上。他們也可以用於通用目的,非數據庫空間數據操作,但是這樣你就不得不依賴於System.Data.Entity。