这是从ID中选择我需要的Fruit对象的最佳方法吗?
所以我拿着ID并返回它的名字,id是唯一的,所以只会有一个结果。
如果我不使用.Single()我得到IQueryable但我只想要单个对象
var fruitName = (from p in fruitDB.Fruits
where p.FruitID == id
select p.FruitName).Single();
答案 0 :(得分:3)
.Single()
很好 - 但如果它没有任何结果,它将抛出异常。如果您希望它返回null
而不是SingleOrDefault()
。这将为您提供唯一返回的对象,如果没有找到,则返回null。
如果结果集将返回多于1个项目(不太可能带有ID),并且您只想要第一个项目,请使用First()
或FirstOrDefault()
。
答案 1 :(得分:3)
试试这个
fruitDb.Fruits.SingleOrDefault(f => f.FruitId == id);