Skip to Main Content

ODP.NET

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to configure DbContext with ODP.NET Core

c0036513-d01d-46af-8a69-d47e16c6c3ceOct 25 2018 — edited Apr 3 2019

It seems that Oracle released the ODP.NET Core version (see https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core/). If this is accurate, please share how to set it up by using the DbContextOptions (or in any other "injectable" way, not by manually instantiating the connection and command objects (as in https://www.oracle.com/webfolder/technetwork/tutorials/obe/db/dotnet/ODPNET_Core_get_started/index.html).

I am not able to configure the DbContext from the Startup, Configuration method as described in StackOverflow (https://stackoverflow.com/questions/52972234/options-useoracle-not-available-in-ef-core ):

services.AddDbContext<BloggingContext>(options => options.UseOracle(ora_conn)); 

"UseOracle" is not a method that is available.

I have included the following namespaces:

using Oracle.ManagedDataAccess.Client;

using Microsoft.EntityFrameworkCore;

Even when I try dotnet ef dbcontext scaffold (with and without the option -c HiddenContext), it fails with the error "Unable to find expected assembly attribute named DesignTimeProviderServicesAttribute in provider assembly Oracle.ManagedDataAccess. This attribute is required to identify the class which acts as the design-time service provider factory."

dotnet ef dbcontext scaffold "DATA SOURCE=hidden;PASSWORD=hidden;PERSIST SECURITY INFO=True;USER ID=hidden;Connection Timeout=60;min pool size=0;connection lifetime=1800;" Oracle.ManagedDataAccess --output-dir Tables --schema hidden -t table1 -t table2 -t table3 -t table4 -t table 5 -v

What am I missing? Can anybody point me to any suggestions out there?

Please, please, help...

This post has been answered by Mark Williams on Oct 25 2018
Jump to Answer

Comments

Answer

When you have an object as a parameter in a data control you should also see a parameter object created that has the simple types in it.

See for example the video here:

https://blogs.oracle.com/shay/entry/calling_web_service_with_complex

Marked as Answer by Luigi B. · Sep 27 2020

Hi,

in the first case, have a look at the constructors in the DC. It will have the object (entity) as a node. You use this to e.g. create an edit form for the method call. The iterator --> get current row of the parameter form is then the object it wants you to pass. So no need to change the WS

Frank

Luigi B.

I still find the fact that ADF has different behaviors, depending on the name of the operation/element really odd, but this solves my problem without changing the service, so I'm good with that, thanks!

1 - 3

Post Details

Added on Oct 25 2018
29 comments
32,434 views