2

我正在尝试将 PetaPoco 用于具有一些存储过程的项目。它们中的大多数都可以正常工作,但是,我们有几个存储过程需要一个 IntList,它是一个用户定义的表类型。

我还没有找到一种方法来做到这一点,我希望我只是错过了一些明显的东西。我目前的解决方法是将存储过程代码从 SQL 复制到一个字符串中,然后对我的 PetaPoco 数据库执行它:

public IEnumerable<UserComments> GetComments(IEnumerable<int> userIds)
{
   using(var db = new Database(connection))
   {
      db.Fetch<UserComments>(new Sql("select UserId, Comment from Comments where UserId in    (@0)", userIds);
   }
}
4

1 回答 1

4

你可以直接传入一个SqlParameter。例如

db.Fetch<User>("EXECUTE getUser @0", new SqlParameter(,,,,));

因此,您应该能够像直接通过 ADO.net 一样调用它。

于 2011-07-21T12:55:35.990 回答