2009-11-10 82 views
6

在SQL Server 2008和2005之間的實體框架中是否存在任何向後兼容性?實體框架中的SQL Server向後兼容性?

看起來框架強制您在解決方案中爲所有.edmx文件使用相同的提供程序。

如果您使用2008提供程序,那麼由框架發送到基礎SQL查詢的數據類型(如DateTime2)和函數(如SysDateTime)使其無法在SQL 2005 Server中使用它們。

任何方法?

回答

3

您是否在EDMX中將ProviderManifestToken設置爲2005?如果你打算支持2005年,你應該。如果您使用2008服務器設計EDMX,GUI設計人員將優化2008年的模型,包括數據類型和查詢語法。如果您針對2005服務器設計EDMX,則只會使用2005兼容的類型,並且ProviderManifestToken將設置爲2005.

+0

我同意。但在我的情況下,我們需要同時支持sql server 2005和2008.爲了維護每個版本的獨立版本,似乎太多了,因爲如果我已經編寫了自己的數據層,而且能夠同時支持兩個數據庫而沒有任何問題使用實體框架。 應該有一個可配置的屬性,應該允許後向兼容性。 – shake 2009-11-11 12:51:43

+1

**你不必做兩次構建**已經有這樣的屬性。我甚至在我的回覆中給了你一個鏈接。將其設置爲2005年,您的應用將同時適用於2005年和2008年。 – 2009-11-11 13:08:02

+0

是的,你可能是對的。我想我得到了我的錯誤,因爲我正在嘗試使用SQL Server 2008更新模型,並將ProviderManifestToken設置爲2005.查詢不應該給我帶來任何傷害。謝謝 – shake 2009-11-17 06:56:11