[高并发]EntityFramework之高性能扩展

发布时间:2017-7-9 7:26:50编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"[高并发]EntityFramework之高性能扩展 ",主要涉及到[高并发]EntityFramework之高性能扩展 方面的内容,对于[高并发]EntityFramework之高性能扩展 感兴趣的同学可以参考一下。

简介

读写分离

读写分离,支持可配置项的方式。同时支持权重的方式轮询。

  • 先看段配置文件

     <entityFrameworkConfig isSlaveRead="true" readConnstr="Data Source=(localdb)\test;Initial Catalog=Demo;Integrated Security=True;"><slaves>  <add name="test1" connectionString="Data Source=(localdb)\test;Initial Catalog=Demo;Integrated Security=True;" weight="1"/>  <add name="test2" connectionString="Data Source=(localdb)\test;Initial Catalog=Demo;Integrated Security=True;" weight="10"/></slaves>  </entityFrameworkConfig>
  • isSlaveRead // 是否开启读写分离
  • readConnstr // 读库链接字符串
  • slaves节点 // 当读库有多个时,通过weight支持权重轮询读库功能。(readConnstr配置不为空时,将忽略slaves节点)

指定字段更新

目前封装了3种形式的,指定字段更新方法。

  • 对象不存在上下文

    var user = new User { Id = 2, Name = Guid.NewGuid().ToString() };DemoDbContext.CurrentDb.UpdateField(user, "Name");
  • 对象已存在上下文

    var user = new User { Id = 2, Name = Guid.NewGuid().ToString() };DemoDbContext.CurrentDb.UpdateField(user, x => x.Id == 2, "Name");
  • 对象为IEntity,无论是否存在上下文均支持

    var user = new User { Id = 2, Name = Guid.NewGuid().ToString() };DemoDbContext.CurrentDb.UpdateEntityField(user, "Name");

    事务

  • 事务类型
    在.NET 中,事务分SQLTransaction和TransactionScope。后者在MSDTC(Distributed Transaction Coordinator)开启的时候,支持分布式事务。
    • TransactionScopeOption
      • Required
        • 默认方式,如果存在环境事务,直接取环境事务,如果不存在,则创建新的
      • RequiresNew
        • 直接创建新的环境事务


上一篇:关于Android适配华为等带有底部虚拟按键的解决方案
下一篇:bugly中批量隐藏版本

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款