gpt4 book ai didi

c# - LINQ 查询没有返回正确的结果

转载 作者:太空宇宙 更新时间:2023-11-03 10:53:07 24 4
gpt4 key购买 nike

我有一个在 POST 和 PUT 上都被调用的方法。该方法更新当前用户的用户名。查询看起来像:

public override void Save() 
{
if (SessionManager.CurrentSession.Query<User>()
.Any(u => u.Username == this.Username))
throw new DuplicateNameException("Username already exists");
...

这适用于 POST,每次我尝试使用数据库中存在的用户名创建新用户时,它都会抛出 DuplicateNameException。但是,在 PUT 上,当我尝试将现有用户名更改为已经存在的用户名时,此异常永远不会发生。我不知道为什么 POST 和 PUT 之间的查询会有所不同。有什么想法吗?提前致谢。

最佳答案

奇怪。您已确认您期望执行的代码确实在执行?如,PUT 调用不会导致此被跳过或调用其他方法吗? PUT 调用实际上是在访问服务器吗?进行 PUT 调用时,“用户名”实际上是否正确填充?当进行 PUT 调用时,“CurrentSession”属性和“Query”调用是否实际绑定(bind)到它们应该是什么并返回您期望的数据(例如,它是否会返回一个空列表,因为某些连接或其他连接尚未设置在这种情况下)?

关于c# - LINQ 查询没有返回正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20601362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com