LINQPad忽略了程序集引用

时间:2018-11-04 02:34:52

标签: reference sql-server-ce linqpad

我已经按照here的说明添加了一个引用(NuGet程序包),但是LINQPad无法识别它。

enter image description here enter image description here

这是我的查询:

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

...结果如下:

enter image description here

我们可以看到,LINQPad忽略了我的SQLCE参考,而是使用了SQL参考。 (System.Data引用显然是LINQPad内部的;我没有添加它。)

如何让LINQPad做相反的事情-忽略SQL参考并按预期使用SQLCE参考?

2 个答案:

答案 0 :(得分:0)

这听起来像是运行时程序集解析问题-期望System.Data.SqlServerCe.dll位于输出文件夹中。

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

答案 1 :(得分:0)

只需使用EF DbContext连接对话框来连接您的DbContext,就像一个超级按钮。

EF DbContext Connection Dialog