2015-01-15 1 views
0

우리 프로젝트는 DevForce 7.2.2 + EF5 + Oracle ODAC Release 2를 기반으로합니다. Oracle은 EF6을 지원하는 Cristmas 이후 새로운 ODAC 릴리스 3을 제공하므로 EF6으로 마이그레이션 할 계획입니다. 새로운 ODAC 드라이버와 EF6를 설치하고, IdeaBlade.EntityModel.Edm.EF6을 추가하고 프로젝트를 성공적으로 컴파일했습니다. 내가 edmx.tt 파일을 제거하고 다시 edmx 저장하려고 할 때 그러나, 오류가 말한다 : System.Exception : 파일에서의 MetadataWorkspace을로드 할 수 없습니다 : C :DevForce 7.2.2는 EF6 + Oracle ODAC 릴리스 3 드라이버와 함께 사용할 수 있습니까?

이 변환 실행 HRM의 \ 지점 \를 \ 작업 \ Client \ trunk \ william_EF6 \ Source \ Infor.HRCM.BusinessObjectEF \ HRCMModel.edmx 로드하는 동안 유효성 검사 오류가 발생할 수 있습니다. EDMX 유효성 검사 오류가 있는지 확인하십시오. 'Oracle.DataAccess.Client'라는 고정 이름을 가진 ADO.NET 공급자에 대한 Entity Framework 공급자가 없습니다. 공급자가 응용 프로그램 구성 파일의 'entityFramework'섹션에 등록되어 있는지 확인하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkId=260882을 참조하십시오. IdeaBlade.VisualStudio.OM.CodeGenerator.Metadata.EdmxWrapper.ThrowException에서 (문자열 edmxFileName, IEnumerable을 1 errors) at IdeaBlade.VisualStudio.OM.CodeGenerator.Metadata.EdmxWrapper.LoadFrom(String edmxFileName, IEnumerable 1 & 오류) Microsoft.VisualStudio.TextTemplatingF6DEE480DF7B4F94A3D12E403704A2572EB9DB1E939B6073E8F11C8E668FEEA7B6005FF1359D9D2F5838491689A816AF3A6016F8F44D717349E05C0127639B54.GeneratedTextTransformation에서 IdeaBlade.VisualStudio.OM.CodeGenerator.BaseDomainModelTemplate.Generate() 에서 . c : \ HRM \ branches \ work \ Client \ trunk \ william_EF6 \ Source \ Infor.HRCM.BusinessObjectEF \ HRCMModel.edmx.tt : 줄 9 c : \ HRM \ branches \ work \ Client \ trunk \ william_EF6 \ Source \ Infor.HRCM.BusinessObjectEF \ HRCMModel.edmx.tt 9 1 Infor.HRCM.BusinessObjectEF

DevForce가없는 새로운 데모 (EF6 + ODAC 드라이버 만)가 작동합니다.

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections> 
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 
    </configSections> 
    <connectionStrings> 
    <add name="HRCMContext" connectionString="metadata=res://*/HRCMModel.csdl|res://*/HRCMModel.ssdl|res://*/HRCMModel.msl;provider=Oracle.DataAccess.Client;provider connection string=&quot;data source=DEV12;password=hrm_trunk;persist security info=True;user id=HRM_TRUNK&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 
    <oracle.unmanageddataaccess.client> 
    <version number="*"> 
     <edmMappings> 
     <edmNumberMapping> 
      <add NETType="decimal" MinPrecision="1" MaxPrecision="19" DBType="Number" /> 
     </edmNumberMapping> 
     </edmMappings> 
    </version> 
    </oracle.unmanageddataaccess.client> 
    <entityFramework> 
    <providers> 
     <provider invariantName="Oracle.DataAccess.Client" type="Oracle.DataAccess.EntityFramework.EFOracleProviderServices, 
       Oracle.DataAccess.EntityFramework,Version=6.121.2.0, 
       Culture=neutral, PublicKeyToken=89b483f429c47342" /> 
    </providers> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
    </entityFramework> 
</configuration> 
+0

Oracle 및 EF6과 관련된 다른 문제에 대한 보고서를 작성하여 검토 중입니다. 자세한 정보는 IdeaBlade 지원부에 직접 문의하십시오. –

답변

0

EF6은 디자인 타임에 DevForce 문제의 원인이 EF5에서와 다르게의 app.config 정보를 해결 /로드 것으로 나타납니다 : 다음 내 응용 프로그램의 설정입니다. EF6의 DevForce 코드 생성은 현재 프로젝트 구성 파일의 정보를 사용할 수 없으므로 구성의 entityFramework 정보를 찾을 수 없습니다.

devenv.exe와 동일한 폴더에있는 devenv.exe.config 파일에 entityFramework 정보 (configSection 항목 포함)를 추가하여이 문제를 해결할 수 있습니다.

다음 DevForce 릴리스에서이 문제를 해결할 수 있기를 바랍니다.

+0

이 문제는 NuGet에서 사용할 수있는 7.2.6 릴리스에서 수정되었습니다. –

관련 문제