LINQ for ... QueryObjectGraph (Выражение> фильтр, строка параметров [] children) - PullRequest
0 голосов
/ 26 ноября 2011

В DAL:

public IQueryable<T> QueryObjectGraph(Expression<Func<T, bool>> filter, params string[] children)
    {
        foreach (var child in children)
        {
            dbset.Include(child);
        }

        return dbset.Where(filter);
    }

В BLL:

public IQueryable<Breed_Translated> QueryObjectGraph(System.Linq.Expressions.Expression<Func<Breed_Translated, bool>> filter, params string[] children)
    {
        return _r.QueryObjectGraph(filter, children);
    }

В контроллере:

var breeds = _breedTranslatedRepository.QueryObjectGraph(b => b.Culture == culture, new string[] {"Breed", "AnimalType_Breed" }).ToList();

ВОПРОС: Я могу вернуть все breed_translateds, но не могу понять, как фильтровать по AnimalTypeId?

Я могу сделать это в DAL следующим образом с синтаксисом понимания:

var queryTest=from bt in Breed_Translateds
join atb in AnimalType_Breeds
on bt.BreedId equals atb.BreedId
where bt.Culture=="en" && atb.AnimalTypeId ==2

Но хотелось бы стать лучше в LINQ с синтаксисом метода расширения: что-то вроде ... var breeds = _breedTranslatedRepository.QueryObjectGraph (b => b.Culture == культура, новая строка [] {"Breed", "AnimalType_Breed"}). ToList () .Where (at => at.AnimalTypeId == 3 )

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