Ваше отношение 1-> 1.В этих случаях я обычно возвращаю пользовательский класс в сетку, в которой есть все нужные мне столбцы, включая объединения с другими таблицами.
Так что в основном вам нужно создать собственный запрос linq с вашим набором результатов.
Запрос mais должен следовать этому примеру:
var q = from i in ctx.Invoices
join c in ctx.Customers on i.CustomerID equals c.CustomerID
select new{InvoiceID=i.InvoiceID, InvoiceDate=i.Date, CustomerName=c.Name};
Теперь, предполагая, что мы получаем переменную CustomerName со строкой для фильтрации по c.Name, которую мы можем сделать:
if(!string.IsNullOrEmpty(CustomerName))
{
q = q.where(c => c.Name.ToLower().Contains(CustomerName.ToLower()));
}
Обратите внимание, что я выполняю операцию ToLower () и Contains, это будет выглядеть как LIKE с учетом чувствительности к регистру и поиском строки в любом месте в имени клиента.
В конце вы вернетеq.ToList (), сериализованный для jqGrid ...