I'm trying to switch over a model to use the DevArt dotConnect driver. It's actually worked before, but it seems to have reverted back to the default .NET Oracle drivers after I re-generated the model.
What I did was open up the .edmx
file in Notepad and change:
<Schema Provider="Oracle.DataAccess.Client" ProviderManifestToken="11.2" ...>
To:
<Schema Provider="Devart.Data.Oracle" ProviderManifestToken="Ora11g" ...>
However, when I then try to update the model from the database, I get hundreds of errors similar to:
Error 18 Error 40: The Type number is not qualified with a namespace or alias. Only PrimitiveTypes can be used without qualification.
These happen on lines such as:
<Property Name="ROLEID" Type="number" Nullable="false" />
I believe the dotConnect driver wants me to use the .NET primitive Decimal
instead of the Oracle type number
. However, fixing these errors would require me to change hundreds of lines, plus it would just get wiped out next time I updated the model.
My Question:
Can the built in VS2010 designer be made to work with the DevArt dotConnect Oracle driver? Or is the only way to generate the correct syntax to use DevArt's designer?
I'm pretty sure I figured out the issue.
The model was mapped to a data source that was using the
Oracle.DataAccess.Client
ADO.NET driver rather than the dotConnect driver.I wasn't able to find a good way to change the underlying database driver for a model, so I deleted the data source and created a new one with the same name. This seems to have fixed the issue, and now data types appear correctly in the EDMX file.
I now have a bunch of other issues, but I believe this is unrelated to this problem.