2013-11-09 58 views
0

得到它后一个参数我想编写一个查询,从我的模型获得一个参数呼叫从数据库

我用这个

var ao = db.ApartmentOwners.Where(s => s.phoneNo == phoneNumber).Select(s => new { ID = s.ID }); 

,但我不能,虽然我知道这样做ao.ID查询得到的只是ID

我错过了什么?

回答

1

.Select()回报IQueriableIEnumerable(认为它作为阵列的哪怕只是在它的行),而不是一个单一的价值
为了只得到第一行使用:

var ao = db.ApartmentOwners.Where(s => s.phoneNo == phoneNumber).Select(s => new { ID = s.ID }).First(); 
+0

我用了你的第一个查询并且我得到了这个异常'Sequence contains no elements' – user2208349

+0

第二个查询无效,为什么? – user2208349

+0

空序列表示没有行可以计算出您的条件。如果你不确定这样的行是否存在,那么使用.FirstOrDefault() - 你会得到默认值作为结果(null,0或其他任何根据你选择的数据类型)如果行不是发现,不例外。 .First()说“无论如何给我第一个现有的行”。让我检查第二个表达式(可能是错误的,没有在VS中尝试) – LINQ2Vodka