問題タブ [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.
c# - PetaPoco ライブラリを使用してデータベースからモデルを自動的に作成する方法は?
データベースに、ゲッターとセッターを使用してモデル クラスを作成したいテーブルがあります。プロジェクトのほとんどのタスクで、PetaPoco を使用しています。モデルを手動で作成しましたが、多くの列を持つテーブルはほとんどありません。
PetaPoco を使用してデータベースからモデルを作成する方法はありますか?
c# - PetaPoco: 複合オブジェクトへのフェッチ
私は PetaPoco に慣れ親しんでいます (見た目は素晴らしいです) が、ここに 1 つのブロッカーがあり、PetaPoco でそれができるかどうか興味があります。
私がやりたいことは、データベース内の 1 つの行を複合オブジェクトにマップすることです。その例で物事が明確になると思います。
データベースに「Customers」というテーブルがあり、行が次のようになっているとします。
そして、私はそのようなモデルを使用したいと思います:
したがって、C# では異なるオブジェクトを使用する必要がありますが、エンティティは 1 つだけです (データベース内の 1 つの ID、1 つの行)。
PetaPoco を使用してそのようなマッピングを実現できますか?
c# - PetaPoco Dynamic と WebAPI を使用して Json を返す
PetaPoco 動的クエリを使用して、ASP.net WebAPI で Json を返すことは可能ですか?
//WebAPI コントローラー
エラーが表示されます
XML シリアル化可能にするには、IEnumerable から継承する型に Add(System.Object) の実装が必要です。
nhibernate - NHibernateとpetapocoの読み込みメカニズム
NHibernateのペタポコローディングメカニズムを理解するのに苦労しています。実際、私は両方がクエリでどのように動作するかを比較するためのテストを行いました。
私のクラスは次のとおりです。
UserTest.cs
次のプロパティを使用します。
User.Load
NHibernateでaを実行するDoSomeOtherWork
と、呼び出されないことがわかりましたが、PetaPocoでは、またはUser
などの読み込みからクエリを実行すると、呼び出されていることがわかります。Connection.db.Fetch<UserTest>(...)
Connection.db.Query<UserTest>(...)
DoSomeOtherWork
どうしてこんなことに?
DoSomeOherWork
PetaPocoを使用するときに、NHibernateと同じ動作をするように呼び出すことを回避する方法はありますか?私はt want to use
PetaPocoを使用していません。CustomerID`を無視しas I need to get and set the
ます。
mysql - PetaPoco が変数を入力パラメーターとして認識しないようにする
MySql データベースにアクセスするために、C# アプリで PetaPoco.Core 4.0.3 を使用しています。
変数を使用するクエリを作成しようとしていますが、PetaPoco で変数を入力パラメーターとして処理したくありません。私が何を意味するかを示すためだけに、役に立たないクエリを次に示します。
これを行うと、PetaPoco は @num を入力パラメーターとして認識し、次のエラーが表示されます。
パラメーター '@num' が指定されましたが、渡された引数のいずれにもこの名前のプロパティがありません ('SET @num := 0; SELECT @num;')
また、@文字を2倍にしてエスケープしようとしました
しかし、私は受け取ります
パラメータ '@num' を定義する必要があります。
PetaPoco が変数を入力パラメーターとして認識せずに、クエリで変数を宣言して使用する方法はありますか?
前もって感謝します
パウロ
c# - PetaPocoページクエリ生成の改善
私はPetaPocoの大ファンであり、そこに書かれているコードを見るとただ驚いています。しかし、実際のプロジェクトで使用しているときに、次のようなクエリが発生するという問題が発生しました。
ResultCategoryNameは、Case When
ステートメントを使用して「フライ」で生成されます。これはかなり単純なクエリです。これで、PetaPocoで記述されたコードに気付いた場合は、ステートメントが終了し、行番号関数も追加されていることがわかります。したがって、クエリは次のようになります。
そして、それが発生すると、SQLエラーInvalid column name
「ResultCategoryName」が発生します。メソッドを変更し'BuildPageQueries<T>'
、if (_dbType == DBType.SqlServer || _dbType == DBType.Oracle)
実際のSQLが生成される場所で、次のように変更しました。
これにより、クエリが生成されました。
これで動作します!! :)。しかし、これが正しい方法なのか、それとももっと良い方法があるのかを知る必要があります。
asp.net-mvc-3 - MVC3コントローラーがNinject依存関係を持つベースコントローラーを認識していません
NlogをバインドするためにNinjectを(正しく)接続しました。これが私のNinjectMVC3.csのRegisterServiceメソッドです
PetaPocoに移植しようとしていますが、ここでベースコントローラーを作成しました。
このようにベースコントローラーを継承すると、次のようになります。
取得しているビルドを実行してみてください
'BaseController'には、0個の引数を取るコンストラクターが含まれていません
私は何が間違っているのですか?Ninjectがコンストラクターへの依存関係を解決すると思いましたか?
。
.net-3.5 - PetaPoco データベース クラスは、リクエストごとに 1 回作成する必要がありますか?それとも必要になるたびに作成する必要がありますか?
ぺたポコで、Database
クラスの作成はどうすればいいの?私のアプリケーションはおそらく、クエリをカプセル化するためにさまざまなリポジトリ (DDD リポジトリではなく、ゲートウェイ リポジトリのようなもの) を利用することになるでしょう。
同じデータベース接続にアクセスする必要がある複数のリポジトリがあるため、コンストラクターで Database クラスを作成し、そのデストラクターで呼び出す基本クラスを作成しDispose
、すべての派生クラスでこのオブジェクトを呼び出すだけでよいと考えていました。このシナリオでは using ブロックは必要ないと思います (クラスがスコープ外になると、データベース自体が閉じられるため)。
また、すべてのページで使用できるように、global.axax でデータベース オブジェクトを作成することも検討しましたが、それがどのように機能するかは完全にはわかりません (それをインスタンス化する何らかのクラスがApplication_BeginRequest
必要だと思いますか?DatabaseManager
このアプローチが NHibernate や RavenDB などで使用されているのを見たことがあります)、データベース オブジェクトの使用をリポジトリ/データ レイヤー クラス経由ではなく、ASPX ページ自体にプッシュしているように見えますが、これは臭いと思われます。
これらのアプローチのどれが最も効果的かについての提案はありますか? また、PetaPoco が「共有接続」をサポートしていることも確認しましたが、データベースへの開いている接続の数を最小限に抑えるために、それも検討したいのでしょうか?
.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 ファイルを更新する方法はありますか?
c# - var をループして DropDown を設定する方法は?
PetaPoco Micro ORM で ASP.NET/C# 4.0 を使用しています。
PetaPoco コードは、varで Years のリストを取得します。ここで、ASP.NET ドロップダウン コントロールにこのvarの項目を設定します。
PetaPoco は、より少ないコードでこれを行うための何かを提供していますか? または、 varをループして DropDown に項目を追加するにはどうすればよいですか?