Вопрос

Используя Subsonic 3, у меня есть простой класс под названием «ConferencePository», который имеет метод, который возвращает кучу конференций на основе их состояния. Я проверяю это, используя подгруппу, встроенный в поддержку тестирования. Моя настройка репо выглядит так:

// 2 Approved, 4 pending, 3 rejected
var data = new List<Conference>
               {
                   new Conference {Approved = true, Rejected = false},
                   new Conference {Approved = true, Rejected = false},
                   new Conference {Approved = false, Rejected = false},
                   new Conference {Approved = false, Rejected = false},
                   new Conference {Approved = false, Rejected = false},
                   new Conference {Approved = false, Rejected = false},
                   new Conference {Approved = false, Rejected = true},
                   new Conference {Approved = false, Rejected = true},
                   new Conference {Approved = false, Rejected = true}
               };

Conference.ResetTestRepo();
Conference.Setup(data);

И тогда мой класс REPO в конечном итоге выполняет эту строку, используя Find ():

return Conference.Find(c => c.Approved).ToList(); 

Беда в том, что это всегда возвращает все записи (9). Я пробовал разные критерии найти, безрезультатно.

Кто-нибудь знает, что такое проблема? Я пытался исправить сравнение равенства в шаблонах TT, как описано здесь: Исправления для проблем с концептопозиторией дозвуковой 3 Но это не помогает.

Это было полезно?

Решение

Так меняется из .find to ...

return Conference.All().Where(c => c.Approved == true).ToList(); 

Решает это.

Другие советы

Не должен иметь никакого значения, но вы пробовали:

return Conference.Find(c => c.Approved == true).ToList(); 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top