想要从db中的查找表列中提取文本值。 EL是我的数据库的实体。目前的代码:
var QTypes = EL.ElogQueryType.Where<ElogQueryType>( eqt=> eqt.ID == queryTypeID);
string qType = QTypes.First().QueryType;
当我拉.Select(...
以便出错时,我会得到一个列表。
答案 0 :(得分:4)
如果您知道自己只是获得一件物品,那么您应该可以这样做:
var QTypes = EL.ElogQueryType.Where(eqt=> eqt.ID == queryTypeID).Single().QueryType;
如果您不确定是否会使用SingleOrDefault()
。
如果您只想要第一个,因为您需要许多记录:
var QTypes = EL.ElogQueryType.First(eqt=> eqt.ID == queryTypeID).QueryType;
如果您不知道是否会得到任何内容,则同样适用,请使用FirstOrDefault
。
答案 1 :(得分:2)
目前还不清楚是什么问题,因为您当前的查询应该会告诉您所追求的内容。但是,您也可以使用带有谓词的First
重载:
string qType = EL.ElogQueryType.First(eqt => eqt.ID == queryTypeID)
.QueryType;
你说你“在[你]拉动时得到一个清单。选择(”但是你的意思并不清楚。你还没有说出你已经指定的代码有什么问题。
(正如Kelsey所说,如果您愿意,可以选择First FirstOrDefault
,SingleOrDefault
,Single
甚至Last
。)