2015-01-15 3 views
0

Наш проект основан на DevForce 7.2.2 + EF5 + Oracle ODAC Release 2. Oracle предоставляет новый выпуск 3 ODAC со дня Рождества, который поддерживает EF6, поэтому мы планируем перейти на EF6. Я установил новый драйвер ODAC и EF6, добавлю IdeaBlade.EntityModel.Edm.EF6 и скомпилированный проект успешно. Но когда я попытался удалить файл edmx.tt и сохранить EDMX снова, ошибка говорит:Работает ли DevForce 7.2.2 с драйвером EF6 + Oracle ODAC Release 3?

Запуск преобразования: System.Exception: Не удается загрузить MetadataWorkspace из файла: C: \ HRM \ ветви \ работа \ Клиент \ trunk \ william_EF6 \ Source \ Infor.HRCM.BusinessObjectEF \ HRCMModel.edmx Это может быть связано с ошибками проверки, возникающими во время загрузки; Проверьте ошибки проверки EDMX. Поставщик службы Entity Framework не найден для поставщика ADO.NET с инвариантным именем «Oracle.DataAccess.Client». Убедитесь, что поставщик зарегистрирован в разделе «entityFramework» файла конфигурации приложения. Для получения дополнительной информации см. http://go.microsoft.com/fwlink/?LinkId=260882. в IdeaBlade.VisualStudio.OM.CodeGenerator.Metadata.EdmxWrapper.ThrowException (String edmxFileName, IEnumerable ошибки) на IdeaBlade.VisualStudio.OM.CodeGenerator.BaseDomainModelTemplate.Generate() в Microsoft.VisualStudio.TextTemplatingF6DEE480DF7B4F94A3D12E403704A2572EB9DB1E939B6073E8F11C8E668FEEA7B6005FF1359D9D2F5838491689A816AF3A6016F8F44D717349E05C0127639B54.GeneratedTextTransformation. TransformText() в c: \ HRM \ branch \ work \ Client \ trunk \ william_EF6 \ Source \ Infor.HRCM.BusinessObjectEF \ HRCMModel.edmx.tt: строка 9 c: \ HRM \ branches \ work \ Client \ trunk \ william_EF6 \ Источник \ Infor.HRCM.BusinessObjectEF \ HRCMModel.edmx.tt 9 1 Infor.HRCM.BusinessObjectEF

Я создаю d новая демонстрация без 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, как представляется, загрузка/разрешений app.config информации иначе, чем это было в EF5, вызывая проблему DevForce во время разработки. Генерация кода DevForce в EF6 в настоящее время не может использовать информацию в файле конфигурации вашего проекта, поэтому информация о суффиксах в вашей конфигурации не найдена.

Вы можете решить эту проблему, добавив в файл devenv.exe.config информацию о сущности (включая запись configSection), находящуюся в той же папке, что и файл devenv.exe.

Мы надеемся исправить это в следующем выпуске DevForce.

+0

Эта проблема была исправлена ​​в выпуске 7.2.6, доступном на NuGet. –