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去完成那个领域的事,同时埋一堆雷在那里。

Ai满嘴顺口溜,想考研?浪费我几个小时的更多相关文章

  1. 我的CS考研路

    说在前面 从去年7月15号正式准备考研以来,直到今天,3月19号,一共经历8个多月,考研初步告捷,在此想跟大家分享一下自己的经验,希望能对接下来考研的学弟学妹们有所帮助. 首先介绍下我自己的情况,本科 ...

  2. 目标决定人生——没有目标就失去一切 (没有目标的奋斗是浪费青春,比如交了钱却不去参加考试、让时间白白溜走。根据目标与定位来选择最合适的企业。人生要算总账)good

    没有目标就失去一切 刚毕业那会儿,幼稚得可笑,老跟同学打电话,明面上聊聊近况,暗地里比较.你要比我工资多一百块,心里特不平衡,凭什么呀,在学校那会儿公认的我比你强.你要带个头衔,而我啥也不是,普通员工 ...

  3. python爬取考研专业信息

    伴随着2021考研成绩的公布,2021考研国家线也即将到来.大家是否有过考研的想法了?如果想考研我们就需要了解很多的信息,但是百度的上有太多信息需要我们去一一的鉴别,是比较浪费时间的.所以我们可以学习 ...

  4. AI翻译离无障碍交流有多远

    AI翻译服务通过硬件.软件连接千千万万个应用场景,会打破语言不通的尴尬局面吗?会是人工翻译的终结者吗? 世界这么大,我想去看看!十一长假临近,梦想中的你背起行囊,自由行走在异国的大街小巷.然而现实的画 ...

  5. 人工智能-调百度AI接口+图灵机器人

    1.登陆百度AI的官网 1.注册:没有账号注册 2.创建应用 3.创建应用 4.查看应用的ID 5.Python代码 from aip import AipSpeech APP_ID = " ...

  6. 贾扬清谈大数据&AI发展的新挑战和新机遇

    摘要:2019云栖大会大数据&AI专场,阿里巴巴高级研究员贾扬清为我们带来<大数据AI发展的新机遇和新挑战>的分享.本文主要从人工智能的概念开始讲起,谈及了深度学习的发展和模型训练 ...

  7. 24款WordPress网站AI插件大盘点

    ------------恢复内容开始------------ 你想把AI(人工智能)技术和机器学习技术添加到自己的WordPress网站吗?本文中,我会分享24个利用AI技术和机器学习技术的WordP ...

  8. 考研党其实可以用思维导图MindManager做考研复习计划

    近年由于就业压力,个人学历提升等各种原因,考研的人数越来越多了,相对难度也越来越大了,尽管今年研究生招生规模同比去年增加18.9万,但也无法掩盖考研的竞争逐年激烈. 身为考研大军中的预备选手之一,小编 ...

  9. 想了很久,一道Microsoft的笔试题目 —— Reversing Linked List

    Reversing Linked List Given a constant K and a singly linked list L, you are supposed to reverse the ...

  10. 三分钟玩转微软AI量化投资开源库QLib

    更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 微软QLib简介 微软亚洲研究院发布了 AI 量化投资开源平台"微矿 Qlib".Q ...

随机推荐

  1. 在Quartz .NET的工作类中使用依赖注入

    Quartz .NET默认的Execute方法是不支持非空的构造函数的,所以.net core常用的构造函数依赖注入也搞不来,网上搜索一番搞定了这个问题. 解决方案简单来说就是自定义一个任务工厂,替换 ...

  2. 探索Python @dataclass的内部原理

    之前写过一篇介绍Python中dataclass的文章:<掌握python的dataclass,让你的代码更简洁优雅>. 那篇侧重于介绍dataclass的使用,今天想探索一下这个有趣的特 ...

  3. 零基础Windows Server搭建部署Word Press 博客系列教程(3):弱鸡变猛男之部署CDN加速和缓存加速

    我们博客里面存在的各种媒体文件.压缩文件.脚本文件,这些文件可能很大而且不需要随时生成.如果我们的服务器带宽很小,访问我们网站的用户等待加载完成就需要很长时间,那么访问速度会很慢.因此我们需要通过第三 ...

  4. unordered_map比map慢?

    先说结论:unordered_map不维护键的顺序,因此不能按顺序访问元素,因此如果你需要遍历表时若选用unordered_map就肯定比map慢 1. 数据结构与底层实现 unordered_map ...

  5. Svelte 最新中文文档翻译(1)—— 概述与入门指南

    前言 Svelte,一个非常"有趣".用起来"很爽"的前端框架.从 Svelte 诞生之初,就备受开发者的喜爱,根据统计,从 2019 年到 2024 年,连续 ...

  6. 玩转云端|天翼云边缘安全加速平台AccessOne实用窍门之保障热门产品发售服务安全稳定

    本文分享自天翼云开发者社区<玩转云端|天翼云边缘安全加速平台AccessOne实用窍门之保障热门产品发售服务安全稳定>,作者:天翼云社区官方账号 随着社会经济的发展和人民生活水平的提高,越 ...

  7. Qt数据库驱动编译(MySQL)

    Qt数据库驱动编译(MySQL) 哈喽!我是 Pro_er,一名热爱编程的小伙伴.在这里我会分享一些实用的开发技巧和经验心得.如果你也对编程充满热情,欢迎关注并一起交流学习! 第一步:安装所需文件 / ...

  8. mac安装NTFS工具

    1.插上硬盘,输入diskutil list 查看磁盘列表找到磁盘名称 2.更改 /etc/fstab文件 LABEL=MyData none ntfs rw,auto,nobrowse ntfs r ...

  9. spring的事务管理有几种方式实现

    一.事务的4个特性:   原子性:一个事务中所有对数据库的操作是一个不可分割的操作序列,要么全做,要么全部做.   一致性:数据不会因为事务的执行而遭到破坏.   隔离性:一个事务的执行,不受其他事务 ...

  10. dotnet CLI推送Nuget

    前提: 准备好要发布的包 选择一个打包工具,可以是dotnet CLI.nuget.exe CLI.MSBuild 准备好Nuget官方API Key 自述文件   先必须添加Readme.md到项目 ...