Преобразовать в выражение - PullRequest
1 голос
/ 02 мая 2011

Как я могу преобразовать этот метод в выражение, которое я могу использовать в linq для сущностей:

    public bool IsMatch(long additionId)
    {
        return AdditionsPrices.Any(x => x.AdditionId == additionId);
    }

Спасибо! * * 1004

Ответы [ 2 ]

3 голосов
/ 04 мая 2011

Это решение:

public Expression<Func<Addition, bool>> IsMatch(long additionId)
    {
        return a => a.AdditionsPrices.Any(x => x.AdditionId == additionId);
    }
0 голосов
/ 02 мая 2011

Почему бы вам просто не выполнить запрос Contains () - извлечь List<long> из AdditionsPrices:

List<long> additionIds = AdditionsPrices.Select( x => x.AdditionId)
                                        .ToList();

и затем использовать это в запросе EF Contains():

var results = context.SomeEntitySet
                     .Where(x => additionIds.Contains(x.AdditionId));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...