WebEnh

.net7 mvc jquery bootstrap json 学习中 第一次学PHP,正在研究中。自学进行时... ... 我的博客 https://enhweb.github.io/ 不错的皮肤:darkgreentrip,iMetro_HD
随笔 - 1079, 文章 - 1, 评论 - 75, 阅读 - 174万
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
        /*
         * <div class="form-group">          // 原始
         * <div class="form-group hidden">   // 修改后
         * 
         * 
         *  原始:  @Html.EditorFor(model => model.RowVersion, new { htmlAttributes = new { @class = "form-control" } })
         *  修改后:@Html.HiddenFor(model => model.RowVersion, new { htmlAttributes = new { @class = "form-control" } })
         */

 

生成的页面,进行替换操作。同样适用于 Timestamp

        /// <summary>
        /// 数据行版本号
        /// </summary>
        [Display(Name ="数据行版本号")]
        [Timestamp]
        public byte[] RowVersion { get; set; }

        /// <summary>
        /// 数据行版本号
        /// </summary>
        [Display(Name ="数据行版本号")]
        [Timestamp]
        public byte[] Timestamp { get; set; }

如果发生异常,表示版本不一至。

如:

复制代码
        #region 修改数据时,如果行版本不一至,则报错,内容为:数据版本不一至,请返回重新进入再修改!
        private static readonly Exception _DbUpdateConcurrencyException = new Exception("数据版本不一至,请返回重新进入再修改!");
        /// <summary>
        /// 修改数据时,如果行版本不一至,则报错,内容为:数据版本不一至,请返回重新进入再修改!
        /// </summary>
        public static Exception DbUpdateConcurrencyException { get { return _DbUpdateConcurrencyException; } }

        private static readonly Exception _OptimisticConcurrencyException = new Exception("未设置行版本!");
        /// <summary>
        /// 未设置行版本!当更新操作违反并发约束时,就会引发此异常。
        /// </summary>
        public static Exception OptimisticConcurrencyException { get { return _OptimisticConcurrencyException; } }
        #endregion



        public override async Task<int> SaveChangesAsync()
        {
            try
            {
                int result = await base.SaveChangesAsync();
                return result;
            }
            catch (DbUpdateConcurrencyException)
            {
                throw RowVersionHelper.DbUpdateConcurrencyException;
            }
            catch (OptimisticConcurrencyException)
            {
                throw RowVersionHelper.OptimisticConcurrencyException;
            }
        }
复制代码

 可以处理这个异常,进行自定义处理以给用户弹出友好提示。

 

<div class="form-group">          // 原始
<div class="form-group hidden">   // 修改后
原始:  @Html.EditorFor(model => model.RowVersion, new { htmlAttributes = new { @class = "form-control" } })
修改后:@Html.HiddenFor(model => model.RowVersion, new { htmlAttributes = new { @class = "form-control" } })

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

了解更多