問題タブ [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 投票する
3 に答える
12884 参照

c# - PetaPoco ライブラリを使用してデータベースからモデルを自動的に作成する方法は?

データベースに、ゲッターとセッターを使用してモデル クラスを作成したいテーブルがあります。プロジェクトのほとんどのタスクで、PetaPoco を使用しています。モデルを手動で作成しましたが、多くの列を持つテーブルはほとんどありません。

PetaPoco を使用してデータベースからモデルを作成する方法はありますか?

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

c# - PetaPoco: 複合オブジェクトへのフェッチ

私は PetaPoco に慣れ親しんでいます (見た目は素晴らしいです) が、ここに 1 つのブロッカーがあり、PetaPoco でそれができるかどうか興味があります。

私がやりたいことは、データベース内の 1 つの行を複合オブジェクトにマップすることです。その例で物事が明確になると思います。

データベースに「Customers」というテーブルがあり、行が次のようになっているとします。

そして、私はそのようなモデルを使用したいと思います:

したがって、C# では異なるオブジェクトを使用する必要がありますが、エンティティは 1 つだけです (データベース内の 1 つの ID、1 つの行)。

PetaPoco を使用してそのようなマッピングを実現できますか?

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

c# - PetaPoco Dynamic と WebAPI を使用して Json を返す

PetaPoco 動的クエリを使用して、ASP.net WebAPI で Json を返すことは可能ですか?

//WebAPI コントローラー

エラーが表示されます

XML シリアル化可能にするには、IEnumerable から継承する型に Add(System.Object) の実装が必要です。

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

nhibernate - NHibernateとpetapocoの読み込みメカニズム

NHibernateのペタポコローディングメカニズムを理解するのに苦労しています。実際、私は両方がクエリでどのように動作するかを比較するためのテストを行いました。

私のクラスは次のとおりです。

UserTest.cs次のプロパティを使用します。

User.LoadNHibernateでaを実行するDoSomeOtherWorkと、呼び出されないことがわかりましたが、PetaPocoでは、またはUserなどの読み込みからクエリを実行すると、呼び出されていることがわかります。Connection.db.Fetch<UserTest>(...)Connection.db.Query<UserTest>(...)DoSomeOtherWork

どうしてこんなことに?

DoSomeOherWorkPetaPocoを使用するときに、NHibernateと同じ動作をするように呼び出すことを回避する方法はありますか?私はt want to usePetaPocoを使用していません。CustomerID`を無視しas I need to get and set theます。

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

mysql - PetaPoco が変数を入力パラメーターとして認識しないようにする

MySql データベースにアクセスするために、C# アプリで PetaPoco.Core 4.0.3 を使用しています。

変数を使用するクエリを作成しようとしていますが、PetaPoco で変数を入力パラメーターとして処理したくありません。私が何を意味するかを示すためだけに、役に立たないクエリを次に示します。

これを行うと、PetaPoco は @num を入力パラメーターとして認識し、次のエラーが表示されます。

パラメーター '@num' が指定されましたが、渡された引数のいずれにもこの名前のプロパティがありません ('SET @num := 0; SELECT @num;')

また、@文字を2倍にしてエスケープしようとしました

しかし、私は受け取ります

パラメータ '@num' を定義する必要があります。

PetaPoco が変数を入力パラメーターとして認識せずに、クエリで変数を宣言して使用する方法はありますか?

前もって感謝します

パウロ

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

c# - PetaPocoページクエリ生成の改善

私はPetaPocoの大ファンであり、そこに書かれているコードを見るとただ驚いています。しかし、実際のプロジェクトで使用しているときに、次のようなクエリが発生するという問題が発生しました。

ResultCategoryNameは、Case Whenステートメントを使用して「フライ」で生成されます。これはかなり単純なクエリです。これで、PetaPocoで記述されたコードに気付いた場合は、ステートメントが終了し、行番号関数も追加されていることがわかります。したがって、クエリは次のようになります。

そして、それが発生すると、SQLエラーInvalid column name「ResultCategoryName」が発生します。メソッドを変更し'BuildPageQueries<T>'if (_dbType == DBType.SqlServer || _dbType == DBType.Oracle)実際のSQLが生成される場所で、次のように変更しました。

これにより、クエリが生成されました。

これで動作します!! :)。しかし、これが正しい方法なのか、それとももっと良い方法があるのか​​を知る必要があります。

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

asp.net-mvc-3 - MVC3コントローラーがNinject依存関係を持つベースコントローラーを認識していません

NlogをバインドするためにNinjectを(正しく)接続しました。これが私のNinjectMVC3.csのRegisterServiceメソッドです

PetaPocoに移植しようとしていますが、ここでベースコントローラーを作成しました。

このようにベースコントローラーを継承すると、次のようになります。

取得しているビルドを実行してみてください

'BaseController'には、0個の引数を取るコンストラクターが含まれていません

私は何が間違っているのですか?Ninjectがコンストラクターへの依存関係を解決すると思いましたか?

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

.net-3.5 - PetaPoco データベース クラスは、リクエストごとに 1 回作成する必要がありますか?それとも必要になるたびに作成する必要がありますか?

ぺたポコで、Databaseクラスの作成はどうすればいいの?私のアプリケーションはおそらく、クエリをカプセル化するためにさまざまなリポジトリ (DDD リポジトリではなく、ゲートウェイ リポジトリのようなもの) を利用することになるでしょう。

同じデータベース接続にアクセスする必要がある複数のリポジトリがあるため、コンストラクターで Database クラスを作成し、そのデストラクターで呼び出す基本クラスを作成しDispose、すべての派生クラスでこのオブジェクトを呼び出すだけでよいと考えていました。このシナリオでは using ブロックは必要ないと思います (クラスがスコープ外になると、データベース自体が閉じられるため)。

また、すべてのページで使用できるように、global.axax でデータベース オブジェクトを作成することも検討しましたが、それがどのように機能するかは完全にはわかりません (それをインスタンス化する何らかのクラスがApplication_BeginRequest必要だと思いますか?DatabaseManagerこのアプローチが NHibernate や RavenDB などで使用されているのを見たことがあります)、データベース オブジェクトの使用をリポジトリ/データ レイヤー クラス経由ではなく、ASPX ページ自体にプッシュしているように見えますが、これは臭いと思われます。

これらのアプローチのどれが最も効果的かについての提案はありますか? また、PetaPoco が「共有接続」をサポートしていることも確認しましたが、データベースへの開いている接続の数を最小限に抑えるために、それも検討したいのでしょうか?

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

.net - データベースから PetaPoco モデルを更新するには?

ASP.NET 4.0 プロジェクトでPetaPoco Micro-ORMを使用しています。

PetaPoco T4 テンプレート (Database.tt) は、ファイル Database.cs を生成しました。データベース テーブルへのマッピングを含むこの自動生成ファイルの名前と場所を変更したいと考えています。したがって、このファイルをソリューション エクスプローラーの APP_DATA フォルダーにコピーし、名前を EmployeePOCO.cs に変更しました。

問題は、データベースからモデル (EmployeePOCO.cs) を更新する場合です。古い Database.cs ファイルを削除し、Database.tt を使用して再生成するたびに。この新しい Database.cs ファイルを APP_DATA にコピーし、名前を EmployeePOCO.cs に変更します。

既存の EmployeePOCO.cs ファイルを更新する方法はありますか?

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

c# - var をループして DropDown を設定する方法は?

PetaPoco Micro ORM で ASP.NET/C# 4.0 を使用しています。

PetaPoco コードは、varで Years のリストを取得します。ここで、ASP.NET ドロップダウン コントロールにこのvarの項目を設定します。

PetaPoco は、より少ないコードでこれを行うための何かを提供していますか? または、 varをループして DropDown に項目を追加するにはどうすればよいですか?