zoukankan      html  css  js  c++  java
  • EntityFrameWork连接多Db配置

      如题所示,EF作为微软主推的ORM工具,最新版本已经是7,说明有很多人在使用它做项目。在使用过程中,可能会连接不同的数据库,本文介绍的是连接SqlServer,MySql和SQLite三种,并且可以互相切换。先看Config是如何配置的?如下所示

    <?xml version="1.0"?>
    <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>
      <!--SQLServer数据库配置-->
      <!--<entityFramework>
        <providers>
          <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
        </providers>
      </entityFramework>-->
      <!--MySql数据库配置-->
      <entityFramework>
        <providers>
          <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"/>
        </providers>
      </entityFramework>
      <!--SQLite数据库-->
      <!--<entityFramework>
        <providers>
          <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6, Version=1.0.98.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
        </providers>
      </entityFramework>-->
      <connectionStrings>
        <!--SQLServer数据库-->
        <add name="dbConnString1" connectionString="" providerName="System.Data.SqlClient" />
        <!--MySql数据库-->
        <add name="dbConnString2" connectionString="" providerName="MySql.Data.MySqlClient"/>
        <!--SQLite数据库,注:根目录-->
        <add name="dbConnString3" connectionString="" providerName="System.Data.Sqlite.EF6" />
      </connectionStrings>
    </configuration>
    

      

      是不是觉得很简单?对,就是这样简单。注意:引用的DLL文件名称,建议从官网上下载。如下图所示

      配置好并引用相应的DLL后,还并不能实现数据库的切换,还有一个地方要修改,就是Map文件。如下图所示

    EntityMap_2.png

      如果数据库的名称相同,则可以不必修改。若数据库名称不相同,则需修改this.ToTable这行代码,将后面的这个参数置为空即可

      好了,通过上述的改动,即可实现EF同时连接多Db并可互相切换

  • 相关阅读:
    Vxlan基础理解
    ODPS基础
    关系型和非关系型数据库的区别?
    交换机的互连技术
    MYSQL 查看最大连接数和修改最大连接数
    Ceph添加/删除Mon(ceph.conf)
    java 线程的几个注解
    UML建模之类图
    单例模式的N种写法
    java工具jar包—Lombok
  • 原文地址:https://www.cnblogs.com/xiyang1011/p/7793022.html
Copyright © 2011-2022 走看看