До LINQ я хотел бы, чтобы мое основное приложение возвращало результаты SQL-запроса в набор данных. Затем я бы передал набор данных в качестве параметра для внешней библиотеки DLL. Теперь я передаю запрос LINQ to SQL, который возвращается как объект IQueryable (Of vClientTable). Я хочу иметь возможность перенести этот набор результатов vClientTable на мою внешнюю DLL, чтобы DLL могла работать с данными, включенными в результаты.
Я, вероятно, все делаю неправильно, а также пытаюсь все сделать неправильно, но хотел бы получить совет о том, какой метод лучше всего использовать.
DB Query
Public Shared Function getClientData(ByVal clientID As Int32) As IQueryable(Of vClientTable)
Try
Dim r = From p In dbLINQ.vClientTable _
Where p.ltClientID = clientID _
Order By p.cdCode _
Select p
Return r
Catch ex As Exception
Return Nothing
End Try
End Function
App Sub, который получает данные через запрос к БД
Dim recordData As IQueryable(Of vClientTable) = getClientData(clientID)
Звонок на внешнюю библиотеку DLL
dataComplete = outputClientData(Now, recordData)
DLL sub
public static Boolean outputClientData(DateTime rptDate, IQueryable<vClientData> clientData)
{
//Do something with the data
return true;
}
Очевидно, что во внешней dll она не имеет представления о том, что такое объект IQueryable (vClientData), и даже если я создаю dbml-файл и datacontext в моем внешнем проекте для dll, который включает в себя тот же класс для таблицы БД / просмотрите его говорит, что объекты разных типов.
Есть идеи, как мне поступить с этим?
Спасибо