Pre-purchase questions regarding dotConnect for Oracle

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
r.m.saddler
Posts: 33
Joined: Thu 20 May 2010 08:57
Location: Wales, UK.

Pre-purchase questions regarding dotConnect for Oracle

Post by r.m.saddler » Thu 20 May 2010 10:02

Hi,

I have installed the trial software and am currently assessing it (against DataDirect) as a viable provider for a new EF4 project we are about to start.

Can you please answer these questions to help me formulate my opinion:

- I have added all tables from an example schema and I notice that properties aren't created for foreign keys in all entities - is there any way to force this (as with the SQL Server checkbox option you get in their wizard)? It's a pain to have to create these manually for 200+ tables and then wire them using the mapper!

- The database explorer only allows configuration of one connection. Our database objects are split across multiple schemas however so is it possible to have tables from multiple schemas (on the same database) in the same entity model? If not how would you recommend overcoming this? Will the model break if I open one connection, add a pile of tables, close the connection, open a different connection and then add more tables? I tried this and the validate didn't report any errors but I didn't write any code against it yet to confirm either way.

- Likewise is it possible to have an entity model from multiple databases (for use in distributed transaction scenarios)? If not, what is the typical pattern employed for this requirement? Multiple Entity Models and DIY distributed transaction management?

- I notice that when you add a stored procedure to an entity model the wizard asks if it should obtain metadata of the procedures result set by running it. This is fine in some cases but we have many stored proc's that are called from clients other than .NET and as such they contain simple validation checks for required field values. This causes the metadata interrogation to fail with the ORA exception we raise due to a required field being NULL. How can we get around this? (e.g would it be better for us to return strongly typed cursors instead? Would this alleviate the need to run the stored proc. code?) This is a potential show stopper for us.

- One of the tables in the model has a varchar2 primary key. I have created an oData (i.e. WCF Data Service) feed which consumes the entities from the entity model. This works fine. When I access the root .SVC URI through IE8 I get the expected feed that lists the available entities. When I access an individual entity using $filter it works fine. When I access by primary key where the key doesn't contain dots it too returns fine. However, when I access by primary key where the key contains dots I get a "resource not found" generic ASP.NET error page. If I do the same using EF with SQL Server it works fine. Can you shed any light on why this might be and a suggested course of action? My thought was that it was something to do with url encoding?

Apart from these few hiccups I have been very impressed with the product. Indeed, if the problems are not insurmountable then we will be buying licenses for a small team of 10-15 devs.

Kind regards,

Rob.

r.m.saddler
Posts: 33
Joined: Thu 20 May 2010 08:57
Location: Wales, UK.

Post by r.m.saddler » Tue 25 May 2010 08:34

Bueller? Bueller? Anyone?

AndreyR
Devart Team
Posts: 2919
Joined: Mon 07 Jul 2008 13:16

Post by AndreyR » Tue 25 May 2010 13:38

1. Please go to the Model properties, there is a check box that controls the Foreign Key properties generation.
2. There is a Show All Objects button on the Database Explorer panel. Click it to see all schemas that the user you are connecting under has privilege to browse.
3. A workaround for this situation is to create a view over a database link to a separate database instance. But this is a rather complicated approach.
4. First, not all users and not all databases use strongly typed cursors. This is the major reason of such behaviour. I recommend you to manually create entities representing the return type of the procedures and not toexecute these procedures (choose the "No" option).
5. I have contacted you by e-mail concerning this issue.

Post Reply