前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EntityFrameWork连接多Db配置

EntityFrameWork连接多Db配置

作者头像
用户1219352
发布2018-02-01 17:22:13
9210
发布2018-02-01 17:22:13
举报
文章被收录于专栏:小特工作室小特工作室

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

代码语言:javascript
复制
<?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
EntityMap_2.png

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档