I am trying to use database first approach in Entity Framework .NET using Oracle database - entity-framework

i am using visual studio 2019 and have created an C# console application, added "Oracle.EntityFrameworkCore" and "Microsoft.EntityFrameworkCore.Tools" packages. Oracle database is already available in Server Explorer. Now i want create Models from the existing Oracle database tables using Scaffold-DbContext.
NOTE: I AM BOUND TO USE OLD 2.2.6 VERSION OF "Microsoft.EntityFrameworkCore.Tools" OTHERWISE IT GENERATES ERROR AS:
1. Package restore failed. Rolling back package changes.
2. Version conflict detected for Microsoft.EntityFrameworkCore.Relational.
Need to execute this sort of command:
Scaffold-DbContext "User Id=*****;Password=*****;Data Source=<*****>;" Oracle.EntityFrameworkCore -OutputDir Models

Related

Entity Framework Power Tools - cannot connect to Oracle

I have just installed Entity Framework Power Tools Beta 4 into Visual Studio 2013. I am running a .NET framework 4.5 project, using Entity Framework code first with an Oracle database. I have installed the latest ODP.NET from Oracle (version 12), including the EF drivers, and I have Oracle.ManagedDataAccess and Oracle.ManagedDataAccess.EntityFramework referenced in my project.
This set up allows me to run my project and read and access data from the Oracle database. It all works fine. My problem is when I try to use the Entity Framework Power Tools. I can specify a connection using the Oracle database name and credentials, and the dialog says 'Test Connection succeeded'. However, after clicking the next button, I get the following error:
System.Data.ProviderIncompatibleException: The store provider factory type 'System.Data.OracleClient.OracleClientFactory' does not implement the IServiceProvider interface. Use a store provider that implements this interface.
I am confused because my project is able to use the installed ODP.NET as is to communicate with the Oracle database via Entity Framework. Most of the research I have done on the WWW suggests there should be a problem with versions and the contents of the web.config - but if this is the case surely I wouldn't be able to use EF with Oracle in my project without errors?
Is it just the case that the Power Tools do not work with Oracle?
Cheers!
Martin
As Christian says in his comment, you need to install ODP.NET as a provider that Power Tools can use. I did this by installing Oracle Developer Tools for Visual Studio.

using EntityFramework 6 with SQL Server Compact 4

I am developping an application using Entity-Framework and Sql Server Compact 4 in a Visual Studio 2013 project.
Here is the list of add-ons I installed via NuGet :
Microsoft.SqlServer.Compact 4.0.8876.1
EntityFramework 6.1.3
EntityFramework.SqlServerCompact 6.1.3
Then I want to add an ADO.NET Entity Data Model ("Code First from database").
I choose a sdf file that I already have created with SQL Server Compact Toolbox. The Wizard find it and generate a connection string
Data Source=E:\[...]\myDBtest.sdf
Then I click "Next >", the Wizard becomes gray, freezes a few seconds and then closes itself without showing the following step.
At the end, it did not generate anything into my project.
I tried to rebuilt the project before adding the ADO item.
And I even tried to reboot the computer ... with no more success.
Any suggestion or same experience ?
Of course you can use Db First with EF and SQL Server Compact. In order to avoid the error, install the latest Visual Studio Tools for EF (6.1.3) https://www.microsoft.com/en-us/download/details.aspx?id=40762

Integrating Entity Framework 6.0 with Postgres 9.3

I have a local database developed in Postgres 9.3. The Postgres server name on my computer is just "localhost". I would like to use the Entity Framework 6 Designer that is built into Visual Studio 13 to automatically generate a data model of EF classes and properties that correspond to the database tables and columns.
As described in various web articles, and using Nuget package manager, I added onto VS 13 these extensions or packages: EF 6, Npgsql, Npgsql Data Provider for EF 6, and Dotconnect express for Postgresql. Afterwards, in the VS 13 Server Explorer window, I was able to connect and see my Postgres tables and columns.
However, I cannot seem to get the EF Designer Wizard to automatically generate the .edmx file. I tried adding an ADO.net data object, selecting "EF Designer from Database" and alternatively, "Code First from Database." When I got to the next screen, I had to choose a Data Source. I tried both "MS SQL Server Database File" and alternatively, "Other." For the Data Provider, there was no other option than ".Net Data Provider for SQL."
In the next screen I tried to create a connection, using SQL server authentication, with user name and password, but I could never get VS 13 to connect or even display the Postgres server like it did in Server Explorer window. For the Server Name I used the same one as I used for the Server Explorer window, ie. localhost.mydatabasename.myschema. For the SQL User, I used the owner of the Postgres database, a Role I created, ie. mydatabasename_role.
When that faied, I tried going into MS SQL Management Studio 2014 to see if I could display the Postgres server there, using the same info used in the Server Explorer window, but I could not get SSMS to display the Postgres server there either. Is there a way to automatically generate the data model and .edmx file as I have been trying, using just VS 13 and SSMS 14? Or do I need to purchase the proprietary / licensed version of dotconnect for Postgres developed by Devart? Thank you in advance.
A Visual Studio plugin is currently being developed which supports the EF Designer Wizard.
You can find it here: https://github.com/npgsql/Npgsql/pull/213
After about a week of research and banging my head againts my desk, I FINALLY got my Npgsql MVC Entity Framework application to work... and work WITH the wizard. The steps are below....
1) Close Visual Studio, then download and install Npgsql PostgreSQL Integration from: https://marketplace.visualstudio.com/items?itemName=RojanskyS.NpgsqlPostgreSQLIntegration
2) Reboot your computer. (yes, it's needed, I promise)
3) Open visual studio and install the following NuGet packages, IN THE ORDER listed and the VERSION listed...
--> EntityFramework version 6.0.0, then clean and rebuild
--> Npgsql 3.1.0, then clean and rebuild
--> EntityFramework6.Npgsql 3.1.1, then clean and rebuild
NOTE: You may need to uninstall other Nuget packages if these will not install in the order and version listed. If so, just make note and add them back later. and yes, you will want to clean/rebuild between each one above.
4) Close all applications and restart your computer. (yes, it's needed, I promise)
5) After your computer restarts, open Visual Studio again and go to your solution. NOTE: I advise you add a new project for your database connection, but this is more a preference than anything.
6) Try using the Entity Framework Wizard again. You should see the Npgsql selections and it shouldn't just crash on you.

Firebird + Entity Framework 6 in Visual Studio 2012 / 2013. How do I get both visual & non-visual components to work?

Does anyone have Firebird working with Entity Framework 6 at both design time and run time?
I'm mainly using VS 2012, but I get the same results in VS 2013.
Depending on the components I install I can get either design time or run time to work, but not both together.
If I install the latest .net provider & DDEX provider from http://www.firebirdsql.org/en/additional-downloads/ then DDEX works at design time.
I can use server explorer to connect to a database & can create a model using Entity Framework.
But run time fails with the following error:
The Entity Framework provider type 'FirebirdSql.Data.FirebirdClient.FbProviderServices, FirebirdSql.Data.FirebirdClient' registered in the application config file for the ADO.NET provider with invariant name 'FirebirdSql.Data.FirebirdClient' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.
If instead I install the the nuget package PM> Install-Package FirebirdSql.Data.FirebirdClient run time works, but I can no longer use server explorer or reverse engineer a database.
Just need to run the reg files depending of the architecture of the system (86 or 64). This files are in the source package (http://sourceforge.net/projects/firebird/files/firebird-net-provider/DDEX%203.0.1/DDEXProvider-3.0.1.0-src.7z/download).
Note: Edit the %path% variable in the reg file to point to the correct folder in your system.

Entity Framework 5 and SQL Server CE: execute generated db schema

Project is using:
ASP.NET MVC4
Entity Framework 5
SQL Server CE
IDE: Visual Studio Express 2012
Issue:
Entity Framework (model-first) has you add your models in the .edmx then you right-click the .edmx to generate database schema. However in VS Express we're unable to right-click the .sqlce file contents to load the option to "Execute Ctrl+Shift+E" the way we can in Visual Studio.
Question:
How can I run the script that was generated by the Entity Framework?
Previous attempts:
So far I've tried to open the Compact database in SQL Server Management Studio but I return an error that SSMS can't load the compact db because it's not the correct type also from Database Explorer I've pasted the script into a NewQuery window and ran the script but threw errors as well.
I downloaded SQL Server Compact Toolbox and was able to run the script. Thanks and credit to ErikEJ.