网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 后端开发 > .Net >

Ai满嘴顺口溜,想考研?浪费我几个小时

时间:2025-03-26 06:12

人气:

作者:admin

标签:

导读:Trae claude3.7 事情的经过是这样的: 我有个方法代码如下: /// lt;summarygt; /// 获取客户端列表 /// lt;/summarygt; /// lt;param name=quot;inputquot;gt;查询条件参数,包含搜索、排序和分页信...

Trae + claude3.7

事情的经过是这样的:

我有个方法代码如下:

       /// <summary>
        /// 获取客户端列表
        /// </summary>
        /// <param name="input">查询条件参数,包含搜索、排序和分页信息</param>
        /// <param name="cancellationToken">异步取消标记</param>
        /// <returns>客户端数据集合</returns>
        public async Task<Khdsc> GetClientsAsync(Hqkhdsr input, CancellationToken cancellationToken = default)
        {
            var q = db.Clients.AsNoTracking();

            //条件和排序...略...

            logger.LogWarning("执行GetClientsAsync" + tp.GetUtcNow());
            var total = await q.CountAsync(cancellationToken);
            //await Task.Delay(3000);
            q = q.OrderBy(input.sort + " " + input.Order).Skip(input.Offset).Take(input.Limit);// .Page(input.Limit, input.Offset / input.Limit + 1);
            var list = await q.ToListAsync(cancellationToken);

            return new Khdsc
            {
                BridgePort = default,
                BridgeType = default,
                Ip = default,
                Total = total,
                Rows = list.Select(MapClientEntityToKhdrow).ToList(),
            };
        }

然后执行报错了:

在 Microsoft.EntityFrameworkCore.Infrastructure.Internal.ConcurrencyDetector.EnterCriticalSection()
在 Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.<MoveNextAsync>d__20.MoveNext()
在 System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
在 Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.<ToListAsync>d__67`1.MoveNext()
在 Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.<ToListAsync>d__67`1.MoveNext()
在 YCSDK.Sdf.<GetClientsAsync>d__12.MoveNext() 在 D:\fyjiot\src\YCSKDFolder\YCSDK\Sdf.cs 中: 第 171 行
在 YCSDK.RCL.Client.ClientList.<LoadClientListAsync>d__17.MoveNext() 在 D:\fyjiot\src\YCSKDFolder\YCSDK.RCL\Client\ClientList.razor.cs 中: 第 77

有经验的老表一看就晓得是多线程使用同一个dbcontext实例出的问题。所以我仔细排查了我的代码,实在看不出问题,想想问问Ai吧,对话如下:

看到这里我开始怀疑我自己了,也想不通微软为什么要在efcore9中做出这样的改变,会不会是ef9有bug?这样设计不合理啊。

然后我就开始换豆包、chatgpt、千问,各种问,它们基本没法提供有价值的信息。然后又直接各种搜索,由于ef9太新,也搜不出啥东东来。

然后又建测试项目,单独测试又没问题,这个时候我就开始怀疑开始Ai给的回答了,

最终各种折腾发现问题是我用的antblazor刷新数据默认是开了线程的,重点是界面部分我也是让Ai它帮我写的。

到这里问题就解决了。

 

我想说的是,我开始问ai它给了我一个错误的回答,辛亏我了解这里,所以质疑它,但它居然再次回答时说得有理有据,我不信邪再次问他是不是ef9的版本导致的,它也说得头头是道。

如果不熟悉ef的人估计会被它带偏,对ef9会产生一种错误的认识,搞得不好还会去把老项目都重构下,浪费时间,以后发现不是ef9的问题又重构回去,再浪费一次时间。

 

所以感觉目前的Ai有个陷阱,就是让不了解某个领域的人,可以用Ai去完成那个领域的事,同时埋一堆雷在那里。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信