EF 查询数据

这篇博客介绍了Entity Framework(EF)中查询数据的不同方法,包括Single、First、SingleOrDefault的使用场景和区别。Single在存在多条匹配记录时会抛出异常,First则返回第一条。当不确定是否有匹配记录时,可以使用FirstOrDefault或SingleOrDefault,它们在无匹配记录时返回null。此外,还提到了Find方法,它通过主键查找,如果实体已被跟踪,则不会执行SQL查询,直接从内存中获取。
摘要由CSDN通过智能技术生成

1.Single

如果您希望检索一个实体的单个实例,则可以使用First或Single方法,具体取决于您是否希望有多个符合条件的行。 如果存在多个匹配行,则Single方法将引发异常。

sql:

 SELECT TOP(2) [a].[UserId], [a].[DefaultCurrencyCode], [a].[FirstName], [a].[LastName], [a].[SecurityLevel]
 FROM [User] AS [a]
 WHERE [a].[FirstName] = 'zhang'

2.First

sql:

SELECT TOP(1) [a].[UserId], [a].[DefaultCurrencyCode], [a].[FirstName], [a].[LastName], [a].[SecurityLevel]
FROM [User] AS [a]
WHERE [a].[UserId] = 2

3.FirstOrDefault ,SingleOrDefault

如果不确定要根据传入的条件来检索任何数据,则应使用FirstOrDefault或SingleOrDefault方法,如果没有行与搜索条件匹配,它们将返回null:sql语句与上面一样

4.Find

该方法通过主键来查找,如果上下文中的实体类已经被track ,就不会生成sql 语句,即不查询数据库,直接获取被track的那条记录,而SingleFirstSingleOrDefault and FirstOr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值