正在做
context.Single(x => x.Id == id);
与
完全相同context.Find(new[] { id });
在实体框架中?
答案 0 :(得分:3)
没有。 Find
首先检查对象是否已加载到上下文中。如果是,它只返回此对象。如果没有,它从数据库中查询实体。 Single
始终从数据库中查询对象。 如果它已经在上下文中,它将使用DB中的值进行更新。(编辑:最后一句错误,请参阅注释!)
如果对象既不在上下文中也不在数据库中,Find
也会返回null
。如果在数据库中找不到,则Single
会抛出异常。
你的意思是:context.SomeEntitySet.Find(id)
和context.SomeEntitySet.Single(x => x.Id == id)
,我猜。