0

我正在尝试切换模型以使用 DevArt dotConnect 驱动程序。它实际上以前有效,但在我重新生成模型后,它似乎恢复为默认的 .NET Oracle 驱动程序。

我所做的是.edmx在记事本中打开文件并更改:

<Schema Provider="Oracle.DataAccess.Client" ProviderManifestToken="11.2" ...>

到:

<Schema Provider="Devart.Data.Oracle" ProviderManifestToken="Ora11g" ...>

但是,当我尝试从数据库中更新模型时,我收到了数百个类似于以下内容的错误:

错误 18 错误 40:类型号未使用命名空间或别名进行限定。只有 PrimitiveTypes 可以在没有限定的情况下使用。

这些发生在以下行上:

<Property Name="ROLEID" Type="number" Nullable="false" />

我相信 dotConnect 驱动程序希望我使用 .NET 原语Decimal而不是 Oracle 类型number。但是,修复这些错误需要我更改数百行,而且下次我更新模型时它就会被清除。

我的问题:

内置的VS2010设计器能否与DevArt dotConnect Oracle驱动一起工作?或者是生成正确语法以使用 DevArt 设计器的唯一方法?

4

1 回答 1

0

我很确定我解决了这个问题。

该模型被映射到使用Oracle.DataAccess.ClientADO.NET 驱动程序而不是 dotConnect 驱动程序的数据源。

我找不到为模型更改底层数据库驱动程序的好方法,因此我删除了数据源并创建了一个具有相同名称的新数据源。这似乎解决了问题,现在数据类型在 EDMX 文件中正确显示。

我现在有很多其他问题,但我相信这与这个问题无关。

于 2012-05-21T22:32:50.133 回答