我花了很长时间寻找查询单个项目的不同方法的比较,以及何时使用每种方法。
有谁有一个比较所有这些的链接,或者一个关于为什么你会使用其中一个而不是另一个的快速解释?还有更多我不知道的运营商吗?
谢谢。
以下是不同方法的概述:
Find() - 当您想通过主键获取项目时。如果找不到项目,这将返回 null。它会在进入数据库之前查看上下文(正如 Yaron 在评论中指出的那样),如果您需要在同一上下文处于活动状态时多次获取同一实体,这可能是一个重要的效率因素。
Single() - 当您期望查询仅返回一项时。如果查询不完全返回一项,这将引发异常。
SingleOrDefault() - 当您期望查询返回零个或一个项目时(即您不确定是否存在具有给定键的项目)。如果查询不返回零个或一个项目,这将引发异常。
First() - 当您期望查询返回一个或多个项目,但您只想访问代码中的第一个项目时(此处的查询中排序可能很重要)。如果查询未返回至少一项,这将引发异常。
FirstOrDefault() - 当您期望查询返回零个或多个项目,但您只想访问代码中的第一个项目时(即您不确定是否存在具有给定键的项目)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)