关于做完 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)!