問題タブ [petapoco]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1699 参照

table-valued-parameters - テーブル値パラメーターを PetaPoco を使用してストアド プロシージャに渡すことはできますか?

いくつかのストアド プロシージャを含むプロジェクトに PetaPoco を使用しようとしています。それらのほとんどは正常に動作しますが、ストアド プロシージャがユーザー定義テーブル タイプである IntList を予期している場合がいくつかあります。

私はこれを行う方法を見つけていません。明らかな何かが欠けていることを願っています。私が持っている現在の回避策は、ストアド プロシージャ コードを SQL から文字列にコピーし、それを PetaPoco データベースに対して実行することです。

0 投票する
1 に答える
1282 参照

c# - UnitOfWorkパターンはpetaPocoORMで使用されていませんか?

.netのPetaPocoORMは初めてですが、リポジトリパターンと一緒にUnitOFWorkパターンを使用していないビジネスロジックの部分を見ると、かなり混乱していることがわかりました。通常、EntityFrameWorkではリポジトリパターンとともにunitOfWorkパターンを使用します。unitOfWorkパターンがPetaPocoORMで使用されていない理由を誰かが知っていますか?

0 投票する
4 に答える
5174 参照

orm - PetaPoco は列挙型を処理しますか?

テーブルをPOCOに変換するためにPetaPocoを試しています。

私のテーブルには、という名前の列がありますTheEnum。この列の値は、次の列挙型を表す文字列です。

文字列「Fred」を値に変換しようとすると、PetaPoco がチョークしMyEnumます。

GetConverterメソッドの次の行でこれを行います。

ここで、srcは「フレッド」 (a string) であり、dstTypetypeof(MyEnum)です。

例外は、InvalidCastExceptionと言ってInvalid cast from 'System.String' to 'MyEnum'

何か不足していますか?最初に登録しなければならないものはありますか?

GetConverterメソッドに以下を追加することで問題を回避しました。

明らかに、このデリゲートをすべての行で実行したくはありません。処理が大幅に遅くなるからです。この列挙型とその値をディクショナリに登録して高速化することもできますが、このようなものが既に製品に組み込まれている可能性が高いと思われます。

それで、私の質問は、列挙型を PetaPoco に登録するために何か特別なことをする必要がありますか?

2012 年 2 月 23 日更新

しばらく前にパッチを提出しましたが、まだ取り込まれていません。使用したい場合は、パッチを見て自分のコードにマージするか、ここからコードだけを入手してください。

0 投票する
1 に答える
617 参照

sql-server - 多くの1対多のマッピングを使用して、クエリのパフォーマンスを向上させます

SQLAzureにEntityFrameworkを使用しており、アプリケーションの1ページに、かなりの量の関連データをユーザーに表示しています。ページに最大30個のアイテムを読み込んでいますが、各アイテムには、他のオブジェクトへの5つの1対多のマッピングがあります。クエリ時間は妥当なレベルですが、オブジェクトマッピングでかなりのパフォーマンスがリークしています。(ほぼ1秒)。

これが私のオブジェクトがどのように見えるかの例です

タスクには、名前、ステータス、および期日があります。また、カスタムの名前と値のペアである多くのTaskData 、タスクの履歴を示す多くのトランザクション、多くのファイル、多くのコメント、およびそれに取り組んでいる多くの人々がいます。

私のEFクエリは次のようになります。

特定のタスクの関連性は、最初にステータスに基づいており、次に期日に基づいています。そこで、sortで使用するIComparableオーバーライドを作成しました。重要なのは、ソートがintまたはdateに基づいていないため、このシナリオではページングされたクエリがうまく機能しないということです(私は正しいですか?)

アプリケーションの残りの部分では、各タスクに関する情報をあまり表示せず、Linq2Entitiesは正常に機能しています。ただし、この場合のオブジェクトマッピングは私たちを殺しています。私はDapperを使用してDBに直接アクセスする道を進んできましたが、1対多のマッピングには注意が必要です。いくつかの関係については、うまくいくと思いますが、5-6ではうまくいきません。次に見るのはPetaPocoでしたが、最初にここに質問を投げたほうがいいと思うまで、それほど遠くはありませんでした。

大量のデータを取り戻そうとすることに夢中ですか?これから最大のパフォーマンスを得るための私のオプションは何ですか?アプリケーションの1つの領域しかないため、少し複雑にします。

0 投票する
5 に答える
18591 参照

orm - PetaPocoでSQLWHEREINコンストラクトを使用するにはどうすればよいですか?

タグ(Id、Name)という名前のデータベーステーブルがあり、そこから名前がリスト内の名前と一致するものを選択したいと思います。SQLでは、次のようなものを使用します。

しかし、現在ASP.Net MVC3プロジェクトでPetaPocoを使用しているので、それを適切に行う方法を理解するのに行き詰まっています。これまでに試しました:

これにより、次のSQLが生成されます。ここでは、tagsToFindのリストの名のみが、すべてではなく、テーブルデータの照合に使用されます。

これはおそらくそれほど難しいことではないことを知っているので、少しイライラします。助けていただければ幸いです。

更新: 別の方法で実行できることがわかりました

これにより、sqlparametersを使用しているときに必要なものが得られます。とてもきれいではありませんが、今のところは十分だと思います。

/マイク

0 投票する
3 に答える
16569 参照

sql - PetaPoco でパラメータを使用してストアド プロシージャを呼び出す

PetaPoco で名前付きパラメーターを使用してストアド プロシージャを呼び出せるようにしたいと考えています。

検索/フェッチを行うストアド プロシージャを呼び出すには:

私はこのようなことをすることができます:

また、挿入を行うストアド プロシージャを呼び出すにはどうすればよいですか?

ありがとう、ナック

0 投票する
3 に答える
621 参照

.net - SQLite DB の最大許容サイズは? PetaPoco を ORM として使用できますか?

Windows フォーム アプリケーションで SQLite データベースに許可される最大サイズはどれくらいですか? PetaPoco
を ORM として 使用できますか、または同様の ORM を提案できますか?

0 投票する
2 に答える
4804 参照

petapoco - petapoco を使用して DAL を作成する方法

petapoco を使用して DAL とリポジトリを作成する必要があります。難しいのは、接続をどのように管理しているかがわからないことです。

dapper を使用していた場合、接続プロセスがどのように流れるかは、私が制御しているためわかります。petapoco で DAL を作成する際のベスト プラクティスが何かわかりません。

DALHelper クラスに静的プロパティとして配置したいvar db = new PetaPoco.Database("Sqlite_Connection");//this line のですが、スケーラビリティが心配です

0 投票する
2 に答える
1642 参照

mvc-mini-profiler - ソースを変更せずにMVCMiniProfilerをPetaPocoと統合するにはどうすればよいですか

MVCMiniProfilerをPetaPocoで動作させようとしています

PetaPoco DBの作成時に接続を設定しようとしていますが、問題が発生します(connectionClosed)

このアイテムhttps://github.com/toptensoftware/PetaPoco/issues/44を読みましたが、動作させることができます

それを行う正しい方法は何ですか?

編集

ソリューションはGarethElmsによって提供されました。