JQgrid / Entity Framework Проблема с объектами, имеющими отношения - PullRequest
0 голосов
/ 26 мая 2011

У меня есть сущность, которая имеет отношения с другой сущностью. Я могу искать по столбцам, которые находятся в основном объекте и включают столбцы из объекта отношения. Но мне нужно иметь возможность фильтровать список (поиск) по столбцам, которые не входят в сущность отношения.

например

объект счета-фактуры содержит свойство customerId и связан с объектом клиента, который содержит свойство customerName

Мне нужно иметь возможность искать / фильтровать сетку по customerName.

Я новичок в платформе сущностей, пожалуйста, помогите.

спасибо

Карл

1 Ответ

0 голосов
/ 27 мая 2011

Ваше отношение 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 ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...