Я пытаюсь выяснить, как запрашивать мои объекты на основе следующей ситуации.
У меня есть две таблицы, LKCATEGORY и LKSUBCATEGORY, как вы можете себе представить, эти две таблицы связаны друг с другом. Однако, когда я прихожу на страницу, которая должна отображать только активные категории и подкатегории, как мне это сделать и получить список LKCATEGORY с LKSUBCATEGORY, включенным в ссылку с обоими этими фильтрами (isActive = true для обеих сущностей) .
Мой вызов репозитория, который возвращает список типа LKCATEGORY, выглядит следующим образом:
//Create the Entity object
List<LKCATEGORY> category = null;
using (SOAE strikeOffContext = new SOAE())
{
//Invoke the query
category = AdminDelegates.selectCategory.Invoke(strikeOffContext).ByActive(true).ToList();
}
В то время как Делегат (selectCategory) выглядит так:
public static Func<SOAE, IQueryable<LKCATEGORY>> selectCategory =
CompiledQuery.Compile<SOAE, IQueryable<LKCATEGORY>>(
(category) => from c in category.LKCATEGORY.Include("LKSUBCATEGORY")
select c);
и, наконец, фильтр (ByActive)
public static IQueryable<LKCATEGORY> ByActive(this IQueryable<LKCATEGORY> qry, bool active)
{
//Return the filtered IQueryable object
return from c in qry
where c.ACTIVE == active
select c;
}
Я понимаю, что у меня есть только фильтр для объекта LKCATEGORY, и, конечно, я буду фильтровать только эту таблицу. У меня вопрос, как мне отфильтровать LKCATEGORY и LKSUBCATEGORY и получить обратно список типа LKCATEGORY с включенной и отфильтрованной LKSUBCATEGORY?
Заранее спасибо,
Билли