2011-07-20 5 views
1

私はいくつかのストアドプロシージャを持つプロジェクトにPetaPocoを使用しようとしています。それらのほとんどはうまくいきますが、ストアドプロシージャがユーザ定義のテーブルタイプであるIntListを期待しているところがあります。PetaPocoを使用してテーブル値のパラメータをストアドプロシージャに渡すことはできますか?

私はこれを行う方法を見つけていないし、私は明らかに何かを欠いていると思う。私が持っている周りの現在の仕事は、文字列に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); 
    } 
} 
+1

通常、どのようにado.netを通じて呼び出すのですか? – Schotime

+0

TableValue Paramを操作するためにPetaPocoを取得しましたか?sqlparamを渡すと、私はいつもカラム、パラメータ、または変数@ 0にエラーが発生します。 :データ型が見つかりません。構造化されています。テーブル値paramで呼び出しフェッチをどのように表示することができますか? – adopilot

+0

私はやったと思いますが、今は2年近く経っていますので、私が働いているコードが分からないので、助けてもらえません。 – taylonr

答えて

3

あなたが直接SqlParameterを渡すことができます 例えば

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

したがって、ADO.netを直接利用するように呼び出すことができます。

+0

ありがとうございます、今すぐ試してみてください。 – taylonr

関連する問題