Я столкнулся с огромной проблемой.Я добрался до этих двух объектов: IList<Product> products;
и Collection collection;
Оба объекта содержат и IList<Tag>
названы .Tags.
Я пытаюсь сделать это с помощью Linq To NHibernate:
products = products.Where(p => p.Tags.Any(t => collection.Tags.Contains(t)));
Это даст исключение, потому что Linq To NHibernate не поддерживают это.Но как я могу это сделать?Я просто не могу найти какой-либо умный способ получить только products
, который содержит теги, которые есть у конкретного collection
.
Заранее спасибо!
Кстати, проблема кажется оченьаналогично IQueryable содержит любой из строкового массива , но в моем сценарии я не хочу сравнивать его со строковым массивом, а с коллекцией объектов poco.
[EDIT] Я нашелвыходит, что оно выдает это исключение: Unable to cast object of type 'System.Linq.Expressions.ConstantExpression' to type 'System.Linq.Expressions.LambdaExpression'.
Альтернативные способы решения проблемы также приветствуются (HQL и т. д.).
Спасибо![/ EDIT]