当前位置: 首页 > news >正文

网站空间双线空间是什么意思介绍一学一做视频网站吗

网站空间双线空间是什么意思,介绍一学一做视频网站吗,Uie主题WordPress,做的网站首页图片显示不出来1.说明 和EF版本的并发处理方案一致#xff0c;需要知道乐观并发和悲观并发的区别#xff0c;EF Core只支持乐观并发#xff1b;监控并发的两种方案#xff1a;监测单个字段和监测整条数据#xff0c;DataAnnotations 和 FluentApi的两种配置方式。 #xff08;PS#x… 1.说明   和EF版本的并发处理方案一致需要知道乐观并发和悲观并发的区别EF Core只支持乐观并发监控并发的两种方案监测单个字段和监测整条数据DataAnnotations 和 FluentApi的两种配置方式。  PSEF Core中的并发处理模式和EF中的基本类似其他相关概念参考第二十节: 深入理解并发机制以及解决方案(锁机制、EF自有机制、队列模式等):  2. 两个概念 (1).悲观并发比如有两个用户A,B同时登录系统修改一个文档如果A先进入修改则系统会把该文档锁住B就没办法打开了 只有等A修改完完全退出的时候B才能进入修改。 (2).乐观并发A,B两个用户同时登录如果A先进入修改紧跟着B也进入了。A修改文档的同时B也在修改如果在A保存之后/ B再保存他的修改此时系统检测到数据库中文档记录与B刚进入时不一致B保存时会抛出异常修改失败。 3. 监测单个字段 用到的表结构 (1). 监测那个字段就配置哪个字段有两种配置方式如下   A. DataAnnotations配置在对应字段上加特性 [ConcurrencyCheck]   B. FluentApi配置 entity.Property(p p.age).IsConcurrencyToken(); 提交数据库的时候发现该字段中的值已经被篡改了就会进入DbUpdateConcurrencyException并发异常中这里面可以获取三个值数据库原始值、 数据库现在值、内存中当前值。 通常的处理方式   ①. Reload一下放弃当前内存中的实体重新到数据库中加载当前实体然后用当前数据库中的值进行相应的业务处理。   ②. 直接提示用户信息被修改请重新操作一遍(可以更友好的提示一下) (2).案例   保证T_Concurrency01有一条id01的记录age10分别用上面的两种方式进行配置测试的结果最终age4执行正确。 1 {2 //保证T_Concurrency01有一条id01的记录age103 ypfContext db1 new ypfContext();4 ypfContext db2 new ypfContext();5 6 try7 {8 var data1 db1.T_Concurrency01.Where(u u.id 01).FirstOrDefault();9 var data2 db2.T_Concurrency01.Where(u u.id 01).FirstOrDefault(); 10 11 data1.age data1.age - 2; 12 int result1 db1.SaveChanges(); 13 14 data2.age data2.age - 4; 15 int result2 db2.SaveChanges(); //发现age的值和原先查出来的不一致会抛异常进入cache 16 } 17 catch (DbUpdateConcurrencyException ex) 18 { 19 var entityEntry ex.Entries.Single(); 20 var original entityEntry.OriginalValues.ToObject() as T_Concurrency01; //数据库原始值 10 21 var database entityEntry.GetDatabaseValues().ToObject() as T_Concurrency01; //数据库现在值 8 22 var current entityEntry.CurrentValues.ToObject() as T_Concurrency01; //当前内存值 6 23 entityEntry.Reload(); //放弃当前内存中的实体重新到数据库中加载当前实体 24 25 current.age database.age - 4; //应该拿着当前数据库实际的值去处理即8-44 26 entityEntry.CurrentValues.SetValues(current); 27 int result3 db2.SaveChanges(); 28 } 29 } 4. 监测整条数据 用到的表结构   (1). 首先要给该表在数据库中加一个字段(任意命名即可)通常叫“timeStamp”或“rowVersion”然后进行配置   A. DataAnnotations配置在对应字段上加特性[Timestamp]   B. FluentApi配置 entity.Property(e e.rowVersion).IsRowVersion(); 提交数据库的时候发现该表中任意字段中的值被篡改了就会进入DbUpdateConcurrencyException并发异常中这里面可以获取三个值数据库原始值、 数据库现在值、内存中当前值。 通常的处理方式   ①. Reload一下放弃当前内存中的实体重新到数据库中加载当前实体然后用当前数据库中的值进行相应的业务处理。   ②. 直接提示用户信息被修改请重新操作一遍(可以更友好的提示一下) (2). 案例   保证T_Concurrency02有一条id01的记录age10没别用上面的两种方式进行配置还是用age来进行测试测试的结果最终age4执行正确。 1 {2 //保证T_Concurrency02有一条id01的记录age103 ypfContext db1 new ypfContext();4 ypfContext db2 new ypfContext();5 6 try7 {8 var data1 db1.T_Concurrency02.Where(u u.id 01).FirstOrDefault();9 var data2 db2.T_Concurrency02.Where(u u.id 01).FirstOrDefault(); 10 11 data1.age data1.age - 2; 12 int result1 db1.SaveChanges(); 13 14 data2.age data2.age - 4; 15 int result2 db2.SaveChanges(); //发现age的值和原先查出来的不一致会抛异常进入cache 16 } 17 catch (DbUpdateConcurrencyException ex) 18 { 19 var entityEntry ex.Entries.Single(); 20 var original entityEntry.OriginalValues.ToObject() as T_Concurrency02; //数据库原始值 10 21 var database entityEntry.GetDatabaseValues().ToObject() as T_Concurrency02; //数据库现在值 8 22 var current entityEntry.CurrentValues.ToObject() as T_Concurrency02; //当前内存值 6 23 entityEntry.Reload(); //放弃当前内存中的实体重新到数据库中加载当前实体 24 25 current.age database.age - 4; //应该拿着当前数据库实际的值去处理即8-44 26 entityEntry.CurrentValues.SetValues(current); 27 int result3 db2.SaveChanges(); 28 } 29 }       ! 作       者 : Yaopengfei(姚鹏飞)博客地址 : http://www.cnblogs.com/yaopengfei/声     明1 : 本人才疏学浅用郭德纲的话说“我是一个小学生”如有错误欢迎讨论请勿谩骂^_^。声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址否则保留追究法律责任的权利。 转载于:https://www.cnblogs.com/yaopengfei/p/11377090.html
http://www.zqtcl.cn/news/334828/

相关文章:

  • 优秀的设计网站广州排名推广
  • 做电商设计有什么好的网站推荐软件产品开发流程图
  • 建设网站请示宣传企业网站建设的
  • 汉中定制网站建设公司网站建设建站知识
  • 做壁纸网站建站优化办事效率高
  • linux 做网站数据库怎么开发ios软件
  • 沛县网站设计html制作网页的代码
  • 南昌网站建设公司如何万维网络(临沂网站建设)
  • 张家界做网站洛阳网站建设哪家专业
  • 快餐网站模板电子版邀请函制作软件免费
  • 有什么做视频的素材网站网站名称注册保护
  • 北京 顺义 网站制作h5网站网站建设
  • 网站在百度上搜不到了wordpress导航菜单加图片
  • wordpress网站访问慢网站建设35类
  • 绍兴做网站价格字体
  • asp.net网站开发实训可以不花钱做网站吗
  • 北京网站的制作设计服务器和电脑主机的区别
  • 北京网站建设的服务公司凡科网站 怎么开支付
  • 包头公司做网站知名做网站费用
  • 安徽网站建设服务平台重庆网站建公司大全
  • 有什么网站可以做中间人的相城区建设局网站
  • 房屋装修在线设计网站百度联盟广告怎么屏蔽
  • 网站,商城,app+建设域名网址注册
  • 肥西做网站设计网页页面
  • 怎样做百度推广网站iis服务器的默认网站
  • 东莞建设工程交易中心门户网站湖南设计网站机构
  • 做网站在网站建设客户
  • 河北建设厅安监站官方网站一个新手怎么做电商
  • 做结婚请柬网站有那些做网店哪个网站好
  • 做网站尽在美橙互联欧美简约风格网站设计