LINQPad 忽略程序集引用

LINQPad is ignoring an assembly reference

我已经按照 here 所述添加了参考(NuGet 包),但 LINQPad 无法识别它。

这是我的查询:

Sub Main
    Dim iImportList As New List(Of Integer)
    Dim oSearch As New List(Of Match)

    For i = 1 To 226
        iImportList.Add(i)
    Next

    Using oDb As Db.Context = Db.Context.Create
      oSearch.Add(From A In oDb.Applicants
                  Join C In oDb.Customers On
                      A.FirstName Equals C.FirstName And
                      A.LastName Equals C.LastName And
                      A.Ssn Equals C.Ssn And
                      A.Dob Equals C.Dob
                  Where
                      C.TotalBalance > 0 AndAlso
                      A.Aln.StartsWith(DateTime.Now.Year) AndAlso
                      iImportList.Contains(C.ImportId)
                  Select
                      New Match With {
                          .ApplicantId = A.ApplicantId,
                          .CustomerId = C.CustomerId,
                          .MatchLevel = Db.Match.MatchLevels.FirstLastSsnDob
                      })
    End Using
End Sub

Class Match
    Public Property ApplicantId As Integer
    Public Property CustomerId As Integer
    Public Property MatchLevel As Db.Match.MatchLevels
End Class

...结果如下:

正如我们所见,LINQPad 忽略了我的 SQLCE 参考,而是使用 SQL 参考。 (System.Data 参考显然是 LINQPad 内部的;我没有添加它。)

如何让 LINQPad 执行相反的操作——忽略 SQL 参考并按预期使用 SQLCE 参考?

这听起来像是一个运行时程序集解析问题 - 输出文件夹中需要 System.Data.SqlServerCe.dll。

按 F4 查询属性,单击“高级”选项卡,然后 select 选择将所有非框架引用复制到单个文件夹的选项。这将确保可以发现运行时程序集。

只需使用 EF DbContext 连接对话框连接您的 DbContext,效果非常好。