Peta Poco where clause

2019-08-07 09:51发布

问题:

I am trying to do this in petapoco

var people 
= db.Query<Person>("SELECT * FROM people").Where(p => 
 p.FirstName.Equals("George") && p.LastName.Equals("Clooney")).ToList();

the problem is that it gets the entire set of records from the database and then performs the filtration on it. I tried Fetch instead of query, same result.

How do I write the query so that it sends the query to get the filtered results from the database, instead of doing the filtering at the webserver?

回答1:

var people = db.Fetch<Person>("where firstname = @0 and lastname = @1", 
    "George", "Clooney");

or using NPoco (which which is based off PetaPoco) this is also possible

var people = db.FetchWhere<Person>(x=>x.FirstName == "George"
    && x.LastName == "Clooney");