2010-10-28 97 views
6

我有一個VS2008 Web項目與EF1數據模型。現在我已經把它轉換成一個帶有.Net 4的VS2010項目。我的問題是關於實體框架。我怎樣才能看到它是什麼版本的EF。或者我怎樣才能確保它是EF 4?查看實體框架版本

回答

3

有真的在這裏兩個問題:

  1. 什麼是EF集版本?在一個(正確的).NET 4項目中,它確實只能是4.
  2. 什麼是EF模型版本?也許令人驚訝的是,EF 4程序集在運行時支持EF 1和EF 4模型。

當您將VS 2008項目升級到.NET 4時,它也會將EDMX升級到EF 4模型。但如果你跳過了這個或者只是想確認它是正確的,那麼看看EDMX中的xmlns元素。

  • 對於CSDL,EF 4是「http://schemas.microsoft.com/ado/2008/09/edm」; EF 1是「http://schemas.microsoft.com/ado/2006/04/edm」。
  • 對於SSDL,EF 4是「http://schemas.microsoft.com/ado/2009/02/edm/ssdl」; EF 1是「http://schemas.microsoft.com/ado/2006/04/edm/ssdl」
  • 對於MSL,EF 4是「http://schemas.microsoft.com/ado/2008/09/映射/ CS「; EF 1是「urn:schemas-microsoft-com:windows:storage:mapping:CS」
+0

謝謝!在這種情況下,我可以確認我的模型是EF4。 – karl 2010-10-28 13:34:48

9

您可以查看System.Data.Entity.dll版本的項目引用。

6

看看你的'System.Data.Entity'參考版本,如果它是3.5.0.0,那麼它是EF1。如果它是4.0.0.0,那麼你使用EF4。

+0

謝謝你的回答。所以,如果我用VS2010打開一個VS2008項目,並且成功轉換(.Net 4和System.Data.Entity是4.0 ...),我的數據模型也會轉換嗎?或者我需要從數據庫重建我的nodel嗎? – karl 2010-10-28 12:40:21

+0

我不確定,但我不認爲它會自動轉換。無論如何,你爲什麼不測試它?做一個備份,繼續並告訴我們結果。我認爲EF4與EF1有後向兼容性。 – goenning 2010-10-28 13:23:15