如何在Visual Studio 2013中使用Entity Framework 4

Hri*_*nov 10 entity-framework visual-studio-2010 entity-framework-4 visual-studio-2013

我们最近将Visual Studio从2010年升级到2013年.随着它出现了EF 6.0,它与EF 4生成的代码不兼容.

我需要使用数据库模式中的最新版本更新模型中的表.执行此操作时,删除表定义后"更新"和"添加"执行以下操作:

  • 删除已为模型中的所有类型编写的所有自定义代码,即使它们位于与模型不同的文件中;
  • 生成新的EF 6.0绑定;
  • (可选)生成新存储库.现在,这显然与EF 4中的行为不同,后者仅重新生成存储库并且未触及自定义代码.

我们没有使用NuGet,而是在项目中引用EF库.

我想VS 2013使用的代码生成器版本与VS 2010不同.我们如何恢复旧的行为?

更新: 我尝试使用NuGet下载EF 4.3.1并重复更新模型步骤(也删除然后重新创建),但我仍然看到旧的行为.我认为VS 2013 EF代码生成器存在问题.

jan*_*isz 16

对我来说,以下解决方案有效.

双击您的edmx文件并打开其属性窗口.改变Code Generation StrategyT4Legacy Object Context.构建您的解决方案 它可能会导致数千个错误,因为您已重新声明了函数和属性,因此请删除之前不存在的所有文件.

edmx属性窗口

  • 这太烦人了. (4认同)