Domanda

Utilizzando Subsonic 3, ho una semplice classe denominata "ConferenceRepository" che ha un metodo che restituisce un po 'di conferenze in base al loro stato. Sto testando questo utilizzando SubSonic costruito nel supporto per il test. La mia configurazione degli sguardi di pronti contro termine in questo modo:

// 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);

E poi la mia classe Repo eventualmente esegue questa linea, utilizzando find ():

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

Il problema è che questo restituisce sempre tutti i record (9). Ho provato diversi criteri di ricerca, senza alcun risultato.

Qualcuno sa qual è il problema? Ho provato il fissaggio confronto di uguaglianza nei modelli TT come descritto qui: correzioni per i problemi con SubSonic 3 di TestRepository ma che non aiuta.

È stato utile?

Soluzione

Quindi, si passa da .find a ...

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

risolve.

Altri suggerimenti

Nel caso non fa alcuna differenza, ma ha fatto si è tentato:

return Conference.Find(c => c.Approved == true).ToList(); 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top