专栏首页小特工作室EntityFrameWork连接多Db配置

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文件。如下图所示

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 小特跨境电商ERP桌面版 3.数据库如何设计?才能兼容各平台

    ERP跨境电商ERP,是一个非常庞大的系统。不仅模块很多,而且彼此关系也非常紧密。因此,数据库的设计至关重要,一个好的数据库结构,可以使系统灵活多变,扩展性好。

    用户1219352
  • 小特跨境电商ERP桌面版 1.不止包括进销存 还能算毛利

    经过近几年跨境电商ERP的开发,加上对跨境电商行业的业务积累,开发出一套适合中小跨境电商公司使用的ERP软件。欢迎选购。支持目前流行的各大电商平台,如速卖通、敦...

    用户1219352
  • 小特跨境电商ERP桌面版 4.平台商品和本地单品如何映射?

    跨境电商ERP,我们在各电商平台上传要卖的商品,待客户想买产生订单后,公司的发货部门就要配货,从仓库里把货配好,贴上发货面单,再由打包员打成包裹,称重后再由上门...

    用户1219352
  • 缩略图图片过大的处理方法

    特别是在做列表页的时候。如果要显示缩略图,就随机挑选一张图片,我们的图片精度都比较高。

    小明爱学习
  • Linode 虚拟主机安装 discourse 邮件没有发送

    linode VPS 安装后 discourse 的电子邮件始终没有办法发送成功。

    HoneyMoose
  • MySQL中Myisam、InnoDB碎片优化

    起因:查看线上数据库中Table Information时发现有一个日志表数据大小和索引大小有915M,但实际行数只有92行。该表需要频繁插入并且会定时去删掉旧...

    用户7657330
  • SNMP 漏洞分析

    “ 之前进行了服务扫描,对于hasee得到的结果主要就是80端口的http服务,似乎攻击面被局限在了web渗透上,这样就太不全面了,接下来的几篇文章我会...

    意大利的猫
  • 知识图谱技术分享会----有关知识图谱构建的部分关键技术简介及思考

    昨天在北理工参加了一场由 雪晴数据网和北京理工大学大数据创新学习中心联合举办的知识图谱分享活动,聆听了一下午报告,可谓是受益匪浅。一下午时间安排的非常饱满,总共...

    流川疯
  • prometheus-简介及安装

    监控是整个产品周期中最重要的一环,及时预警减少故障影响免扩大,而且能根据历史数据追溯问题。

    yuezhimi
  • JS - 原生js实现 网页截图(+下载截图) 功能

    xing.org1^

扫码关注云+社区

领取腾讯云代金券