с учетом этой функции:
Public Function Search(ByVal StartIndex As Integer, _
ByVal MaxResults As Integer, _
ByVal AccountNumber As String, _
ByVal LastName As String, _
ByVal FirstName As String, _
ByVal DateOfService As String, _
ByVal CPTCode As String, _
ByVal Contract As String, _
ByVal ClaimNumber As String, _
ByVal PaidAmount As String, _
ByVal CheckNumber As String, _
ByVal SortExpression As String, _
ByRef count As Integer) As RemitLineItemEntity()
Я пытаюсь создать предложение по одному фрагменту за раз на основе параметров, передаваемых в функцию, например:
If Not String.IsNullOrEmpty(AccountNumber) Then
If AccountNumber.Contains("%") Then
remits = remits.Where(Function(r) r.MedicalRecordNumber Like AccountNumber.Replace("%", "*"))
Else
remits = remits.Where(Function(r) r.MedicalRecordNumber = AccountNumber)
End If
End If
If Not String.IsNullOrEmpty(LastName) Then
If LastName.Contains("%") Then
remits = remits.Where(Function(r) r.LastName Like LastName.Replace("%", "*"))
Else
remits = remits.Where(Function(r) r.LastName = LastName)
End If
End If
... еще много операторов if для других параметров
_log.Debug("Start Count query")
count = remits.Count()
_log.Debug("End Count query")
Вызов этой функции с помощью lastname = "smith", когда я добираюсь до строки count=remits.Count()
, наблюдая за SQL Profiler, он генерирует sql следующим образом (преобразуется изчто генерирует nhibernate):
Select count(*) from remitline
вместо того, что я ожидал:
Select count(*) from remitline where lastname = "smith"
Что я делаю неправильно, создавая предложение where?Я использую Castle ActiveRecord 2.1
TIA