簡體   English   中英

EF 4.3.1與VS 2011

[英]EF 4.3.1 with VS 2011

我需要知道是否可以在VS 2011中開始使用最新版本的EF(4.3.1),而無需安裝這里所述的這些CTP組件。

我安裝了這些組件,但我刪除了它們,從那時起我就無法將新的edmx文件添加到.net 4目標項目中; 它抱怨缺少對System.Data.Entity的引用。

我需要重新安裝VS 2011嗎?

在我刪除並重新安裝Visual Studio之后,我仍然無法得到錯誤的紅色,因此我使用進程監視器記錄Visual Studio正在使用System.Data.Entity作為路徑過濾器,結果是Visual Studio正在讀取

C:\\ Windows \\ Microsoft.NET \\ assembly \\ GAC_MSIL \\ policy.4.0.system.data.entity v4.0_0.0.0.0__b77a5c561934e089 \\ policy.4.0.system.data.entity.config

哪個有綁定的

System.Data.Entity.dll v 4.2.0.0


一旦我清除了文件VS就像魅力一樣。

CTP卸載離開了這個。

是的,應該使用.net 4沒有問題,但是使用.net 4.5時已知問題列表。 你不需要重新安裝vs來獲得實體框架的4.3.1版本,只需從nuget包庫中安裝它,如果你使用的是.net 4,它似乎只是工作。

在.net 4.5上安裝EF4.3.1時列出的問題包括下面列出的問題。


Entity Framework 4.x和.NET Framework 4.5的已知問題

實體框架4.1至4.3在EntityFramework程序集的System.ComponentModel.DataAnnotations命名空間中包含其他數據注釋。 在.NET 4.5中,這些注釋被移動到System.ComponentModel.DataAnnotations.dll程序集的System.ComponentModel.DataAnnotations.Schema命名空間中的.NET Framework的一部分。 如果您使用的是EF 4.x並以.NET 4.5為目標,則會在不同的程序集中生成兩個具有相同名稱的數據注釋。 由於.NET Framework中的注釋位於不同的命名空間中,因此我們無法使用類型轉發來避免此沖突。

可以在.NET 4.5上使用EF 4.x,但我們建議使用最新的EF 5預發布版本。如果您沒有使用受影響的數據注釋,則不會對您的代碼產生任何影響。 如果您在C#項目中使用數據注釋,則可以使用extern修飾符來確保您的代碼使用EntityFramework.dll中的注釋(http://msdn.microsoft.com/en-us/library/e59b22c5(v=VS) 0.80)的.aspx)。 如果您使用.NET 4.5中的System.ComponentModel.DataAnnotations.dll程序集中的新注釋,它們將不會由Code First處理。

受影響的注釋是:

  • 的ComplexType
  • DatabaseGenerated
  • DatabaseGeneratedOption
  • ForeignKey的
  • InverseProperty
  • 最長長度
  • 使用MINLENGTH
  • NotMapped

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM