我正在尝试从LINQ查询找到的第一条记录的一个字段中获取字符串,如下所示:
Dim NameString As String = (From q In DContext.VoxContext.BurnPrograms
Where q.Id = acProgramId AndAlso q.Ac = True
Select q.ProgramName
Take 1).ToString
但是当我跟着这个:
If NameString = SomeOtherString
NameString总是:
System.Data.Objects.ObjectQuery`1 [System.String]
我已经尝试了几种不同的查询排列,但似乎无法让它工作。似乎ToString
实际上并没有让查询运行。该如何正确完成?
由于
答案 0 :(得分:3)
我不熟悉VB但是应该这样做
(From q In DContext.VoxContext.BurnPrograms
Where q.Id = acProgramId AndAlso q.Ac = True
Select q.ProgramName
Take 1).FirstOrDefault().ToString()
或更优雅的解决方案是将lambda表达式合并到FirstOrDefault:
中var someString = DContext.VoxContext.BurnPrograms.FirstOrDefault(Function(x) x.Id = acProgramId And x.Ac).ProgramName;