2012-07-19 3 views
1

Моя компания теперь начала использовать PetaPoco в качестве инструмента ORM для сопоставления с базой данных. У меня есть хранимая процедура, которая возвращает набор данных с таблицей. Используя текстовый шаблон, я создал Poco для моей хранимой процедуры. Теперь, когда я верну свои данные, я хочу выполнить некоторую операцию, основанную на значениях в каждой строке. КакПолучить набор данных с PetaPoco

Database dbs = MainDatabase.Instance;   
      var summary = dbs.Fetch<ClassParticipantSummary>(Sql.Builder.Append(";EXEC enrol.ClassParticipantSummaryGet @SiteId = @0 , @ClassId = @1" ,SiteId ,ClassId)); 

     summary.Find(predicate<ClassParticipantSummary> (("WHERE name= @name", new { name = "petapoco" })); 

Я понимаю, моя выше утверждение может быть совершенно неправильно. Я просто пытаюсь заставить его работать.

Может ли кто-нибудь сказать мне, как выполнить поиск в объекте petapoco?

ответ

2

Вы не можете добавить Where в SP exec так же, как вы не можете сделать это в SQL. PetaPoco просто выполняет SQL и отображает результаты.

Если вы хотите найти результаты поиска по SP, вы можете использовать простой Linq, потому что PetaPoco возвращает List.

var FilteredList = (from rec in summary 
        where rec.name == "petapoco" select rec).ToList();