c# - Entity Framework + PostgreSQL code-first -


first time here. i'm trying integrate entity framework postgresql using visual studio 2017 community:

from nuget, installed packages:

  • entityframework.6.1.3
  • npgsql.3.2.2
  • entityframework6.npgsql.3.1.1

my project web api .net framework 4.6.2 (not core)

my web.config looks this

<system.data>     <dbproviderfactories>         <remove invariant="npgsql"/>         <add name="npgsql data provider" invariant="npgsql" support="ff" description="data provider postgresql" type="npgsql.npgsqlfactory, npgsql, version=4.0.2.0, culture=neutral, publickeytoken=5d8b90d52f46fda7"/>     </dbproviderfactories> </system.data> <entityframework>     <defaultconnectionfactory type="npgsql.npgsqlconnectionfactory, npgsql"/>     <providers>         <provider invariantname="npgsql" type="npgsql.npgsqlservices, entityframework6.npgsql"/>     </providers> </entityframework> 

but, in nuget packet manager's console, after issuing enable migrations, error:

checking if context targets existing database...
system.configuration.configurationerrorsexception: failed find or load registered .net framework data provider.

in system.data.common.dbproviderfactories.getfactory(datarow providerrow)
in system.data.common.dbproviderfactories.getfactory(string providerinvariantname)
in system.data.entity.infrastructure.dependencyresolution.defaultproviderfactoryresolver.getservice(type type, object key, func3 handlefailedlookup)
in system.data.entity.infrastructure.dependencyresolution.defaultproviderfactoryresolver.getservice(type type, object key)
in system.data.entity.infrastructure.dependencyresolution.cachingdependencyresolver.<>c__displayclass1.<getservice>b__0(tuple
2 k)
in system.collections.concurrent.concurrentdictionary2.getoradd(tkey key, func2 valuefactory)
in system.data.entity.infrastructure.dependencyresolution.cachingdependencyresolver.getservice(type type, object key)
in system.data.entity.infrastructure.dependencyresolution.resolverchain.<>c__displayclass3.b__0(idbdependencyresolver r)
in system.linq.enumerable.whereselectarrayiterator2.movenext()
in system.linq.enumerable.firstordefault[tsource](ienumerable
1 source, func2 predicate)
in system.data.entity.infrastructure.dependencyresolution.resolverchain.getservice(type type, object key)
in system.data.entity.infrastructure.dependencyresolution.rootdependencyresolver.getservice(type type, object key)
in system.data.entity.infrastructure.dependencyresolution.resolverchain.<>c__displayclass3.<getservice>b__0(idbdependencyresolver r)
in system.linq.enumerable.whereselectarrayiterator
2.movenext()
in system.linq.enumerable.firstordefault[tsource](ienumerable1 source, func2 predicate)
in system.data.entity.infrastructure.dependencyresolution.resolverchain.getservice(type type, object key)
in system.data.entity.infrastructure.dependencyresolution.compositeresolver2.getservice(type type, object key)
in system.data.entity.infrastructure.dependencyresolution.dbdependencyresolverextensions.getservice[t](idbdependencyresolver resolver, object key)
in system.data.entity.internal.lazyinternalconnection.createconnectionfromprovidername(string providerinvariantname)
in system.data.entity.internal.lazyinternalconnection.initializefromconnectionstringsetting(connectionstringsettings appconfigconnection)
in system.data.entity.internal.lazyinternalconnection.tryinitializefromappconfig(string name, appconfig config)
in system.data.entity.internal.lazyinternalconnection.initialize()
in system.data.entity.internal.lazyinternalconnection.get_connection()
in system.data.entity.internal.lazyinternalcontext.get_connection()
in system.data.entity.infrastructure.dbcontextinfo..ctor(type contexttype, dbproviderinfo modelproviderinfo, appconfig config, dbconnectioninfo connectioninfo, func
1 resolver)
in system.data.entity.migrations.dbmigrator..ctor(dbmigrationsconfiguration configuration, dbcontext userscontext, databaseexistencestate existencestate, boolean calledbycreatedatabase)
in system.data.entity.migrations.dbmigrator..ctor(dbmigrationsconfiguration configuration)
in system.data.entity.migrations.design.migrationscaffolder..ctor(dbmigrationsconfiguration migrationsconfiguration)
in system.data.entity.migrations.design.toolingfacade.scaffoldrunner.run()
in system.appdomain.docallback(crossappdomaindelegate callbackdelegate)
in system.appdomain.docallback(crossappdomaindelegate callbackdelegate)
in system.data.entity.migrations.design.toolingfacade.run(baserunner runner)
in system.data.entity.migrations.design.toolingfacade.scaffoldinitialcreate(string language, string rootnamespace)
in system.data.entity.migrations.enablemigrationscommand.<>c__displayclass2.<.ctor>b__0()
in system.data.entity.migrations.migrationsdomaincommand.execute(action command)

failed find or load registered .net framework data provider.

can me?

thanks in advance.

try installing npgsql gac windows installer. can lot of time.

download

also, check version number in dbproviderfactories using:

typeof(npgsql.npgsqlfactory).assemblyqualifiedname 

and make sure match.


Comments

Popular posts from this blog

inversion of control - Autofac named registration constructor injection -

verilog - Systemverilog dynamic casting issues -

ios - Change Storyboard View using Seague -