2012-05-10 40 views
0

我們目前正在開發一個應用程序,首先使用EF代碼(EF June 2011 CTP)。從6月CTP升級EF 4.2

我的第一個問題是:是否值得嘗試升級以使用更高版本的EF?其次,如果有的話,是否有人知道升級所涉及的步驟 - 當我嘗試安裝EF 5.0的NuGet包 - 測試版2時,由於目標框架仍然是4.2,我最終遇到了問題。

非常感謝,

詹姆斯。

回答

1

CTP很長時間沒有其他版本了,因爲所有這些東西目前都是.NET 4.5 beta和EF 5.0 beta的一部分。您必須升級到這兩個版本,並且升級包括將應用程序重新定位回.NET 4.0/.NET 4.5,將所有依賴項移除到您當前的EF版本並重新添加.NET 4.5/EF 5.0的這些依賴項。

+0

感謝您的迴應 - 我們這裏最大的問題是我們還必須升級到使用VS 11才能使用EF 5.0。 – jwsadler

1

前段時間我在這裏寫了一篇博文:http://blog.3d-logic.com/2012/04/11/entity-framework-zombie-a-k-a-microsoft-entity-framework-june-2011-ctp/。 CTP 4.2存在很多問題,因爲將.NET Framework庫從.NET Framework中導出(如4.2目標)相關的技術挑戰。轉移到.NET Framework 4.5,其中包含與EF 4.2 +錯誤修復相同的功能集並具有上線許可證。在其上使用EF 5.0,你將會處在一個更美好的世界。

+0

感謝 - 有趣的博客條目 – jwsadler

0

感謝所有的回覆。

我的主要問題是我們首先嚴重依賴於ENUM實現4.2代碼。我試圖將項目遷移到4.5,但不支持ENUM,並且每個層次結構的表也存在問題(這很容易解決)。下一步將升級到VS11並使用5.0 - 但這是一項重大任務。

+0

對不起,我的意思是將項目遷移到4.3 ...不將項目遷移到4.5 ... – jwsadler

0

@jwsadler: 枚舉由作爲.net Framework 4.5(例如System.Data.Entity.dll)的一部分發布的核心EF庫支持。爲了使枚舉與CodeFirst/DbContext一起工作,你需要NuGet的EF 5.0.0包(使用Install-Package EntityFramework -pre(-pre很重要))。因爲Visual Studio 2010不能用於創建面向.NET Framework 4.5的應用程序,所以您需要VS 11。請注意,在Visual Studio 11上安裝nuget包時,將考慮爲該項目設置的.NET Framework的目標版本。如果您的目標是.NET Framework 4,那麼您將無法使用枚舉或空間等EF5功能。