Почему я получаю ошибку «Неоднозначное соответствие» здесь? - PullRequest
0 голосов
/ 24 июля 2010

Страница, над которой я сейчас работаю, выполняет поиск различных сущностей в зависимости от того, в каком портфеле они находятся. Чтобы применить другие критерии поиска (кроме портфолио), страница сначала получает сущности по портфелю, а затем применяет критериидля них, как показано здесь:

IPortfolioLogic logic = this.objectFactory.GetObject<IPortfolioLogic>(this.dal);
PortfolioEntity portfolio = logic.GetPortfolioByID(this.context, this.dal, requestDto.Portfolio.UniqueID);
var unfilteredEntities = portfolio.EntityGroupEntity.EntityGroupItemList.Select(i=>i.EntityID);
IList<EntityEntity> entities = criteria.ApplyTo<EntityEntity>(unfilteredEntities);

Эта последняя строка отправляет его в этот код:

public IList<T> ApplyTo<T>(IEnumerable<T> list) {
        IList tmpList = this.ApplyTo(list, typeof(T));

        IList<T> resultList;

        if (tmpList == null) {
            resultList = null;
        }
        else {
            resultList = new List<T>();

            foreach (object tmp in tmpList) {
                resultList.Add((T)tmp);
            }
        }

        return resultList;
    }

public IList ApplyTo(IEnumerable list, Type entitiesType) {
        return this.GetEvaluator().ApplyTo(list, entitiesType);
    }

Отсюда идет и захватывает те конкретные объекты, связанные с портфелем, которые также соответствуюткритерии.

На моей локальной машине это работает отлично.Он находит сущности и выполняет критерии для них.На нашей ферме, однако, это сообщение появляется:

Message: Error #0e3c57ad-a834-47ab-996a-deecb80fccca
Ambiguous match found.:

В распечатанной трассировке стека она переходит к тем строкам, которые упомянуты выше.Все остальные местоположения часто используются другими процессами, и ни один из них ранее не сталкивался с этой проблемой.Упомянутые выше строки - единственное, что отличается.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 24 июля 2010

Возможно, у вас есть разные версии.

Попробуйте переустановить все сборки.

0 голосов
/ 21 октября 2014

Просто произошла похожая ошибка, и причина была в том, что у меня было определение главной страницы для элемента управления, который имел тот же текст идентификатора, что и имя частной переменной в коде, переименовал одну из них, и проблема была решена.

...