Visual studio 2010 如何在Visual Studio 2013中使用Entity Framework 4
我们最近将Visual Studio从2010年升级到2013年。随之而来的是EF6.0,它与EF4生成的代码不兼容 我需要用DB模式中的最新版本更新模型中的表。执行此操作时,删除表定义后的“更新”和“添加”都会执行以下操作:Visual studio 2010 如何在Visual Studio 2013中使用Entity Framework 4,visual-studio-2010,entity-framework,entity-framework-4,visual-studio-2013,Visual Studio 2010,Entity Framework,Entity Framework 4,Visual Studio 2013,我们最近将Visual Studio从2010年升级到2013年。随之而来的是EF6.0,它与EF4生成的代码不兼容 我需要用DB模式中的最新版本更新模型中的表。执行此操作时,删除表定义后的“更新”和“添加”都会执行以下操作: 删除已为模型中的所有类型编写的所有自定义代码,即使它们位于模型之外的单独文件中 生成新的EF 6.0绑定 (可选)生成新存储库。 现在,这显然不同于EF4中的行为,EF4只重新生成了存储库,而不涉及自定义代码 我们不是在使用NuGet,而是在项目中引用EF库 我猜VS
- 删除已为模型中的所有类型编写的所有自定义代码,即使它们位于模型之外的单独文件中李>
- 生成新的EF 6.0绑定李>
- (可选)生成新存储库。 现在,这显然不同于EF4中的行为,EF4只重新生成了存储库,而不涉及自定义代码
我已经尝试使用NuGet下载EF4.3.1并重复更新模型的步骤(同时删除然后重新创建),但我仍然看到旧的行为。我认为VS 2013 EF代码生成器存在问题。对于我来说,以下解决方案有效 双击edmx文件并打开其属性窗口。将
代码生成策略
从T4
更改为遗留对象上下文
。构建您的解决方案。它可能会导致数千个错误,因为您重新声明了函数和属性,所以请删除以前不存在的所有文件
我也遇到过类似的问题,这太烦人了。我更喜欢一个永久性的解决方案。每次从数据库更新模型时,都会重置此值。