sql server - Use MySQL and MSSQL in Entity Framework 6 -
i'm developing webservice.
behind service 2 methods: 1 entities mysql connection , other entities mssql server connection.
i have 2 connection strings.
i have 2 contexts, separated.
but i'm not able manage this.
any ideas?
the solution simple in end.
be sure install mysql connector/net on target systems! missed on target platform.
web.config / app.config:
<configuration> <configsections> <section name="entityframework" type="system.data.entity.internal.configfile.entityframeworksection, entityframework, version=6.0.0.0, culture=neutral, publickeytoken=b77a5c561934e089" requirepermission="false" /> </configsections> <connectionstrings> <add name="mssqlservercontext" connectionstring="mssqlconnectionstring" providername="system.data.sqlclient" /> <add name="mysqlservercontext" connectionstring="mysqlconnectionstring" providername="mysql.data.mysqlclient" /> </connectionstrings> <entityframework> <defaultconnectionfactory type="system.data.entity.infrastructure.localdbconnectionfactory, entityframework"> <parameters> <parameter value="mssqllocaldb" /> </parameters> </defaultconnectionfactory> <providers> <provider invariantname="system.data.sqlclient" type="system.data.entity.sqlserver.sqlproviderservices, entityframework.sqlserver" /> <provider invariantname="mysql.data.mysqlclient" type="mysql.data.mysqlclient.mysqlproviderservices, mysql.data.entity.ef6" /> </providers> </entityframework> </configuration> mssqlservercontext.cs
public partial class mssqlservercontext : dbcontext { public mssqlservercontext() : base("name=mssqlservercontext") { database.setinitializer<mssqlservercontext>(null); } // add dbsets here public dbset<classname1> somename1 { get; set; } public dbset<classname2> somename2 { get; set; } protected override void onmodelcreating(dbmodelbuilder modelbuilder) { // add mappings here modelbuilder.configurations.add(new classname1map()); modelbuilder.configurations.add(new classname2map()); } } mysqlservercontext
public partial class mysqlservercontext : dbcontext { public mysqlservercontext() : base("name=mysqlservercontext") { database.setinitializer<mysqlservercontext>(null); } public dbset<classname3> somename3 { get; set; } public dbset<classname4> somename4 { get; set; } protected override void onmodelcreating(dbmodelbuilder modelbuilder) { modelbuilder.configurations.add(new classname3map()); modelbuilder.configurations.add(new classname4map()); } }
Comments
Post a Comment