自学内容网 自学内容网

关于做完 C# 项目的问题总结 2

1. FromRoute ---FromQuery 的区别

[Route("/api/user/{Number}")], [FromRoute] Name name,

[Route("/api/user/aaa")],[FromQuery] Name name,

当url用了FromQuery那样swwagger就会多一个参数 一直报400,也不是粗心,而是我根本不知道这一点区别,所以一定看清要用FromRoute

  • FromRoute用于从URL的路径中提取参数。
  • FromQuery用于从URL的查询字符串中提取参数。

2. System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.  500

系统。ArgumentOutOfRangeException:指定的参数超出了有效值的范围。

因为返回值定义了2个 LinkURL导致我拿不到值,然后一直报500,新手不懂一定要问啊

3. SingleOrDefaultAsync  -- ToListAsync

SingleOrDefaultAsync 方法用于异步地从数据源中检索单个元素,该元素满足指定的条件(如果有的话)。如果找到多个匹配项,它会抛出一个异常,因为没有唯一的元素可以返回。如果没有找到任何匹配项,它将返回类型的默认值(对于引用类型,默认值是 null)。

  • 用法:通常用于当你确信查询结果将只返回一个元素时。
  • 参数:可以包含一个可选的谓词(条件),用于过滤结果集。
  • 返回:满足条件的单个元素,或者如果没有找到匹配项,则返回类型的默认值。

ToListAsync 方法用于异步地将查询结果作为列表返回。这个方法不会应用任何过滤条件来限制返回的元素数量,而是将查询到的所有元素都包含在返回的列表中。

  • 用法:当你需要检索多个元素并希望以列表形式处理它们时使用。
  • 参数:通常不接受参数,但查询本身可以通过 LINQ 表达式进行过滤或排序。
  • 返回:包含所有查询结果的列表。

就是一个想要的是list 另一个是一个对象

4. 类型转换

 (UserName)requestListResult?.user!,

(Number)projectNumber;

 通过code取name,   q.userCode is null ? null : (UserName)q.userCode .Name,

5. .IgnoreQueryFilters

在Entity Framework Core(EF Core)中,IgnoreQueryFilters() 是一个扩展方法,它允许你在执行查询时忽略全局查询过滤器(Global Query Filters)。全局查询过滤器通常用于自动应用一些过滤条件,比如软删除(Soft Delete)模式,其中被标记为已删除的记录在默认情况下不会出现在查询结果中。

当你调用 IgnoreQueryFilters() 方法时,EF Core 会忽略这些全局过滤器,并返回包括被过滤掉的记录在内的所有结果。这对于某些特定的查询场景非常有用,比如当你需要恢复或查看已删除的记录时。

自己学习用。。。。。。。


原文地址:https://blog.csdn.net/m0_74772114/article/details/143885015

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!