2010-09-28 55 views
2

这是从ID中选择我需要的水果对象的最佳方式吗?如何从水果ID中选择水果对象(唯一)

所以我带着ID并返回它的名字,ID是唯一的,所以只会有一个结果。

如果我不使用。单()我得到的IQueryable但我只是想单个对象

var fruitName = (from p in fruitDB.Fruits 
           where p.FruitID == id 
           select p.FruitName).Single(); 
+0

我不能确定是什么问题。按照预期,您的查询应该选择FruitName。如果你想'水果'本身只是'选择p'而不是'选择p.FruitName' – EMP 2010-09-28 01:34:37

回答

3

.Single()是好的 - 但如果它没有任何结果时,会抛出异常。如果您希望它返回null而不是SingleOrDefault()。这会给你返回的唯一对象,或者如果没有找到,则返回null。

如果结果集将返回多个项目(不可能带有ID),并且您只需要第一个项目,请使用First()FirstOrDefault()

3

试试这个

fruitDb.Fruits.SingleOrDefault(f => f.FruitId == id); 
相关问题