HTML5技术

C#简单构架之EF进行读写分离+多数据库(Mysql/SqlService) - 追随微笑(2)

字号+ 作者:H5之家 来源:H5之家 2017-06-14 15:01 我要评论( )

读 WriteSqlServiceContext : SqlServiceContext{ public WriteSqlServiceContext() : base ( "" ) { }} 写 ReadSqlServiceContext : SqlServiceContext{ public ReadSqlServiceContext() : base ( "" ) { }} View

WriteSqlServiceContext : SqlServiceContext { public WriteSqlServiceContext() : base("") { } } ReadSqlServiceContext : SqlServiceContext { public ReadSqlServiceContext() : base("") { } }

View Code

通过工厂类进行初始化

上下文工厂类 Contextfactory { 获取上下文 DbContext GetContext(DbOpertionType OpertionType) { DbContextType ContextType = DBInitializer.DbContextType; if (ContextType == DbContextType.MySql) { if (OpertionType == DbOpertionType.Read) return new ReadMySqlContext(); WriteMySqlContext(); } else { if (OpertionType == DbOpertionType.Read) return new ReadSqlServiceContext(); WriteSqlServiceContext(); } } 获取上下文操作 TEntity CallContext<TEntity>(DbOpertionType OpertionType) where TEntity: DbContext { var DbContext = GetContext(OpertionType); return (TEntity)DbContext; } }

View Code

最后配置webcofig即可

<!--数据库配置(WriteMySqlConnection:读数据库,ReadMySqlConnection:写数据库 如果无需要进行 就配置IsUsedWR,2个链接都写写入库)--> <connectionStrings> <add name=connectionString=providerName=/> <add name=connectionString=providerName=/> </connectionStrings> <!--数据库读取分离配置--> <!--是否开启读写分离 1:开启 0:不开启--> <add key=value=/>

View Code

最后进行测试

public class TestController : Controller { private ITestService _TestServiceDb { get; set; } public TestController(ITestService TestServiceDb) { _TestServiceDb = TestServiceDb; } ActionResult Index() { }); var NewResult = _TestServiceDb.GetEntityByID(result.ID); return View(); } }

View Code

搞定,可能在代码上有点累赘,但是总算是可行的。

如果有兴趣的朋友可以留下邮箱,然后发全代码一起研究,谢谢!

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 利用gulp对项目html,js,css,图片进行压缩 - 紫竹玉龙

    利用gulp对项目html,js,css,图片进行压缩 - 紫竹玉龙

    2017-06-07 17:02

  • 在Delphi下使用迅雷APlayer组件进行免注册开发 - Delphi力量

    在Delphi下使用迅雷APlayer组件进行免注册开发 - Delphi力量

    2017-04-28 15:00

  • ABP入门系列(16)——通过webapi与系统进行交互 - 『圣杰』

    ABP入门系列(16)——通过webapi与系统进行交互 - 『圣杰』

    2017-04-25 09:04

  • 《人民的名义》---简单的文本分析 - 视野

    《人民的名义》---简单的文本分析 - 视野

    2017-04-22 18:00

网友点评
<