2015-09-21 4 views
0

Я пытаюсь создать оракул sql для моей модели фреймворка сущности.Невозможно сгенерировать sql в инфраструктуре сущности для базы данных оракула

Я могу создать SQLServer sql fine, ошибка возникает только при генерации oracle.

Я установил инструменты разработчика oracle для VS штрафа.
Я выбрал «Генерировать Oracle через T4 (TPT) .xaml (VS)» для рабочего процесса генерации базы данных и «SSDLTOOracle.tt (VS)» для шаблона генерации DDL.

При попытке сгенерировать SQL в меню правой кнопки мыши, я получаю повторяюсь снова и снова следующее сообщение об ошибке:

SSDL порожденной деятельности под названием «CsdlToSsdlAndMslActivity» не является действительным и имеет следующие ошибки:
Значение по умолчанию (false) несовместимо с гранями, указанными для Decimal. Значение должно быть десятичным числом с масштабом меньше или равным 38 и точность меньше или равна 38.
... [надрез]

Моя модель не содержит никаких Decimals.
Я попробовал установить значение по умолчанию для своих Int32 и Double'ов для чего-то другого, кроме (None), но это не исправить.

Может ли кто-нибудь помочь мне решить эту проблему?

+0

Какую версию Entity Framework и odp.net вы используете? –

+0

@BootStrapper все мои pacakges являются последними из nuget - EF 6.1.3, ODP.NET Управляемый 12.1.022, ODP.NET Управляемый EF 12.1.022 –

ответ

0

Можете ли вы добавить это определение xml в файл приложения/web.config вашего проекта (внутри раздела «Конфигурация»), а затем повторите попытку.

<oracle.dataaccess.client> 
    <settings> 
    <add name="bool" value="edmmapping number(1,0)" /> 
    <add name="byte" value="edmmapping number(3,0)" /> 
    <add name="int16" value="edmmapping number(5,0)" /> 
    <add name="int32" value="edmmapping number(10,0)" /> 
    <add name="int64" value="edmmapping number(19,0)" /> 
    <add name="int16" value="edmmapping number(38,0)" /> 
    <add name="int32" value="edmmapping number(38,0)" /> 
    <add name="int64" value="edmmapping number(38,0)" /> 
    </settings> 
</oracle.dataaccess.client> 
+0

Я использую управляемый драйвер, поэтому вместо этого я попробовал '' <номер версии = "*"> <добавить имя = "Ая" точность = "1" /> <добавить имя = "байты" точность =» 3 "/> '' –

+0

Это не сработало, хотя, я все еще получаю такое же сообщение при попытке создания модели –

+0

OK. Не могли бы вы попробовать с опцией «SSDLToSQL10.tt» (сохранить изменения конфигурации)? –

Смежные вопросы