Entity framework EF 4.3.1 IMiglationMetadata。目标字符串导致;没有剩余的逻辑空间来创建更多用户字符串。”;编译错误

Entity framework EF 4.3.1 IMiglationMetadata。目标字符串导致;没有剩余的逻辑空间来创建更多用户字符串。”;编译错误,entity-framework,Entity Framework,自从Entity Framework的4.3.x版本发布以来,我们已经生成了约80次迁移。每次生成新迁移时,EF生成imiglationMetadata.Target属性的当前模型的快照 由于每次迁移都会向程序集添加约135k个字符,因此我们开始达到临界质量。我们现在收到一个“没有足够的逻辑空间来创建更多的用户字符串。”编译器错误。将它与预编译视图结合起来,就得到了很多字符串 在复杂模型中使用EF迁移的最佳长期方法是什么 也许添加迁移应该生成这些w/资源文件。感谢您的报告。我已将此问题添加到EF

自从Entity Framework的4.3.x版本发布以来,我们已经生成了约80次迁移。每次生成新迁移时,EF生成imiglationMetadata.Target属性的当前模型的快照

由于每次迁移都会向程序集添加约135k个字符,因此我们开始达到临界质量。我们现在收到一个“没有足够的逻辑空间来创建更多的用户字符串。”编译器错误。将它与预编译视图结合起来,就得到了很多字符串

在复杂模型中使用EF迁移的最佳长期方法是什么


也许添加迁移应该生成这些w/资源文件。

感谢您的报告。我已将此问题添加到EF6的积压工作中


目前,用资源查找替换字符串是我能想到的最好的解决办法。

我们也遇到了同样的问题。我们还将通过将生成的字符串移动到资源中来解决此问题:

 public sealed partial class RegionalCenterRenameClass : IMigrationMetadata
 { 
  // Skipped code

  string IMigrationMetadata.Target
  {
    get { return Targets.M201207110918331_RegionalCenterRenameClass; }
   }
 }

where Targets-是资源文件(resx)。

注意-从EF5开始,此问题已得到修复:谢谢!工作得很好。