Wie verwende ich den folgenden Code richtig?So verwenden Sie dieses eine öffentliche IEnumerable <T> Suchen (Ausdruck <Func <T, bool>> Prädikat)?
public IEnumerable<T> Find(Expression<Func<T, bool>> predicate)
Ich brauche eine IEnumerable eines bestimmten Objekt zurückzukehren, aber ich brauche das Sammelobjekt zu einem Abfragbare konvertieren und das Ergebnis umwandeln wieder zur Liste?
Unten ist meine Implementierung, ich weiß nicht, ob das korrekt ist, ich verwende den Code, um das generische Repository zu testen.
public IEnumerable<tbl_SBAem_Attendee> Find(Expression<Func<tbl_SBAem_Attendee, bool>> predicate)
{
var listtblsbaemAttendee = new List<tbl_SBAem_Attendee>();
IEnumerable<tbl_SBAem_Attendee> enumerableAttendee=new List<tbl_SBAem_Attendee>();
for (var i = 0; i < 10; i++)
{
var tblSbAemAttendee = new tbl_SBAem_Attendee
{
AT_AID = i,
AT_Address = "Address1" + i,
AT_Address2 = "Address2" + i,
AT_City = "City",
AT_Email = "[email protected]",
AT_EventID = null,
AT_FirstName = "Rene" + i,
AT_LastName = "Florendo" + i,
AT_GID = null,
AT_Org = "Rene's Club",
AT_Phone = "888-8888",
AT_Phone2 = "999-8888",
AT_RegID = null,
AT_SendInfo = null,
AT_State = "NJ",
AT_Title = "Mr",
AT_Zip = "4102",
AT_date = null,
AT_opt1 = "option1",
AT_opt2 = "option2",
AT_opt3 = "option3",
AT_opt4 = "option4",
AT_opt5 = "option5",
AT_opt6 = "option6",
AT_userID = null,
AttendeeID = 1
};
listtblsbaemAttendee.Add(tblSbAemAttendee);
}
var result= listtblsbaemAttendee.AsQueryable().Where(predicate);
return result.ToList();
}
Jede Hilfe oder Anregungen wird sehr geschätzt. Danke.
Danke. Ich werde es versuchen. – user335160
Das funktioniert. Aber warum bevorzugen die meisten Entwickler den Ausdruck>) über Func ? –
user335160
"Der Großteil des Entwicklers" bedeutet nicht viel ... Sie haben sich sicherlich einige Beispiele für Funktionen angesehen, die für DB-Abfragen verwendet werden (also mit IQueryables, die es vermeiden, Daten aus der Datenbank abzurufen, bevor Sie wollen). –