回答

收藏

LinqPad不使用C#语句返回结果

技术问答 技术问答 395 人阅读 | 0 人回复 | 2023-09-14

已经晚了,所以这一定是愚蠢的。我已将LinqPad连接到我的数据库,但似乎无法获得最简单查询的结果。, E! s1 v* m+ [' b# J1 X: i1 |
var q = from app in AppInstances# p2 Z$ d, ]% k9 s2 K
select new {
7 B5 V/ V3 \6 k5 f3 b, W AppId = app.AppId# M" L. b; E' w6 r3 J: g" Z
};& @+ Q6 N: X; h4 @6 s' P: ]5 `
当我运行它时,LinqPad说它成功执行了(C#语句模式)。什么都不会被搁置。% d2 m9 _2 W2 \% J, V. H
我可以编写以下非常简单的Lambda(C#表达式模式):
  w) a4 w9 k: s% YAppInstances.Select (p => p.AppId)( K) C' U4 Z& d0 h$ V: q) G5 j
那行得通。为什么?我更喜欢使用非lambda查询构建功能。我敢肯定,这一切都是愚蠢的。
0 @& l) q- F9 o  Y6 B* i                * k2 k. `2 U2 {! X3 h# i5 n8 Q  _
解决方案:0 M/ y9 T# s" M( w
               
2 @. _- g% h- f/ j4 X' n  }$ P- y1 x, t

+ |6 z2 P" y6 D$ z, e. d                我希望在声明模式下,您必须执行类似call的操作q.Dump();才能查看结果。
6 u; @& k9 r, I% l& V% R" U但是,如果您只想使用查询表达式,为什么不从表达式模式进行查询呢?只需使用以下表达式:
" b1 D1 x5 q) l! Dfrom app in AppInstances
2 D& @4 w: E, ~) |' B0 g% B; _( gselect new {
$ k1 ]* U' m" N! \5 I' o- Y! K; S    AppId = app.AppId
$ d5 |! @2 @5 Y6 a};8 Y" `! Q1 u/ E) Q( c
或使其等于您的原始lambda:0 O2 v( z, Z2 [8 G# ]- L
from app in AppInstances* V9 I) t$ ~/ ]  L. I
select app.AppId
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则