C# lambda 提取单行字符串值
想要从数据库中查找表的列中提取文本值。 EL 是我的数据库的实体。当前代码:
var QTypes = EL.ElogQueryType.Where<ElogQueryType>( eqt=> eqt.ID == queryTypeID);
string qType = QTypes.First().QueryType;
当我拉 .Select(...
时,我得到一个列表,所以出了问题。
Want to extract the text value from a lookup table's column in a db. EL is the entity for my db. Current code :
var QTypes = EL.ElogQueryType.Where<ElogQueryType>( eqt=> eqt.ID == queryTypeID);
string qType = QTypes.First().QueryType;
I get a list when I just pull .Select(...
so something is wrong.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您知道自己只会得到一件物品,那么您应该能够这样做:
如果您不确定是否会得到一件物品或什么都得不到,请使用
SingleOrDefault()
。如果您只想要第一个,因为您期望有很多记录:
如果您不知道是否会得到任何内容,则同样适用,请使用
FirstOrDefault
。You should be able to just do if you know you will be just getting one item:
If you are not sure if you will get one or nothing use
SingleOrDefault()
.If you just want the first since you are expecting many records do:
Same applies if you don't know if you will get anything, use
FirstOrDefault
.目前尚不清楚出了什么问题,因为您当前的查询应该给出您想要的内容。但是,您也可以使用带有谓词的
First
重载:您说“当 [you] pull .Select(” 时获得一个列表”,但并不清楚您的意思。您还没有' t 说你已经指定的代码有什么问题
(正如 Kelsey 所说,还有 First 的替代方案:
FirstOrDefault
、SingleOrDefault
、Single
。如果您愿意的话,甚至可以是Last
。)It's not clear what's wrong, as your current query should give you what you're after. However, you can also use the overload of
First
which takes a predicate:You say you "get a list when [you] pull .Select(" but it's not really clear what you mean. You haven't said what's wrong with the code you've already specified.
(As Kelsey says, there are alternatives to First:
FirstOrDefault
,SingleOrDefault
,Single
and evenLast
should you wish.)