因此,我在 NOSQL 数据库上运行 linq 查询,如果存在具有该 ID 的对象,则应仅返回单个对象,如果不存在则不返回任何对象,但数据库中可能存在具有相同 ID 的两个对象(如果其他人搞砸了起来。)目前我的实现如下:
(from c in [IQueryableThing] where c.Id.Equals(id)).ToList().First()
我也考虑过替代方案
(from c in [IQueryableThing] where c.Id.Equals(id)).Single()
我假设 .Single() 更快,但我担心这些都不能处理数据库中没有具有正确 id 的对象的情况。我不在乎是否有多个返回。我只想要其中之一。最终我会实现一些东西来返回最近修改的。
基本上我的问题是解决这个问题的最佳方法是将可查询对象转换为单个实例的方法是处理没有具有正确 id 的对象并且有多个具有正确 id 的对象的情况。