2012-05-21 2 views
7

4.3.x 버전의 Entity Framework 릴리스 이후 ~ 80 번의 마이그레이션이 발생했습니다. 새로운 마이그레이션을 생성 할 때마다 EF는 IMigrationMetadata.Target 속성에 대한 현재 모델의 스냅 샷을 생성합니다.EF 4.3.1 IMigrationMetadata.Target 문자열에서 "더 많은 사용자 문자열을 만들 수있는 논리 공간이 없습니다." 컴파일 오류

각 마이그레이션이 우리 어셈블리에 ~ 135k 문자를 추가하기 때문에 임계 질량에 도달하기 시작했습니다. 이제 "더 많은 사용자 문자열을 만들 수있는 논리 공간이 없습니다."라는 메시지가 나타납니다. 컴파일러 오류. 미리 컴파일 뷰를 사용하면 그것을 결합 할 수 있으며 문자열이 많습니다.

복잡한 모델에서 EF 마이그레이션을 사용할 때 장기적으로 가장 효과적인 방법은 무엇입니까?

아마도 추가 마이그레이션은 이러한 w/resource 파일을 생성해야합니다.

답변

1

신고 해 주셔서 감사합니다. 나는이 문제를 EF6의 백 로그에 추가했다.

지금은 문자열을 리소스 조회로 바꾸는 것이 내가 생각할 수있는 최선의 방법입니다.

+0

앤드류 (Andrew)에게 도움을 주셔서 감사합니다. – NATO24

+0

참고 - 이제 EF5로 수정되었습니다. http://entityframework.codeplex.com/workitem/289 – automagic

2

같은 문제가있었습니다. 또한 생성 된 문자열을 리소스로 이동하여이 문제를 해결합니다.

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

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

여기서 대상은 리소스 파일 (resx)입니다.

+0

감사합니다! 잘됐다. – RaoulRubin

관련 문제