問題タブ [npoco]
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# - NPoco での任意のクエリの処理
ここで明らかな何かが欠けているように感じます.NPocoを介してクエリを実行し、結果として異なる型の可能性のある値を任意の数取得するにはどうすればよいですか.
例
次のようなテーブルがあるとします。
次の(MSSQL)を使用してこのテーブルにクエリを実行したい:
したがって、次のようなコードを使用すると思います。ここdb
で、 は NPocoDatabase
オブジェクトです。
問題は、NPoco の Query メソッドには型パラメーターが必要であり、何を指定すればよいかわかりません。問題は、2 つの値が実際には異なる型を持っていることです。1 つは で、もう 1 つはDateTime
ですint
。私は以下を使用してみました:
しかし、結果にアクセス/使用するための構文がわかりません。すべてが非常に不格好に思えます。これは間違った方法で行ったに違いありません。
要約すると:
NPoco を使用して、異なる (任意の) 型の列を返すクエリを実行し、それらの値にアクセスして使用するにはどうすればよいですか?
c# - AbortTransaction が機能しないのはなぜですか?
npoco を使用してトランザクションを操作しようとしていますAbortTransaction
が、データベース内の何かをロールバックするメソッドを取得できません。
テスト クラスからの呼び出し:
------------- 提案された回答の後に編集:
ここで、db.Transaction.Commit() を使用して、db に何かを挿入する必要があります。次に、db.AbortTransaction() を実行しようとすると、エラー メッセージが表示されます。
「この SqlCeTransaction は完了しました。使用できなくなりました。」
c# - NPoco/Petapoco: 取得するにはデータセットが大きすぎます
データベースから取得したデータセット内の各レコードを処理する必要があるコードがいくつかあります
私のプログラムはここでメモリ不足の例外でクラッシュします。昔ながらの方法で行うとしたら、次のようになります。リーダーを作成し、取得した各レコードを反復処理します。Npoco / Petapoco でこのようなことを達成するための最良の方法は何ですか?
c# - PetaPoco / NPoco を使用したサブクラス継承ごとのテーブル
NPoco Micro-ORMのバージョン 2.6.88 を使用しています。
次のようなクラス階層があるとしましょう。
このクラス階層を、「サブクラスごとのテーブル」アプローチで設計されたデータベースにマップする必要があります。これは、列とを持つPerson
テーブルがあり、列とを持つテーブルがあることを意味します。PersonID
Name
Employee
PersonID
Department
私の質問は、NPoco を使用して新しい従業員をデータベースに挿入するにはどうすればよいですか? 私はこのようなことを試しました:
NPoco が従業員固有のフィールドを Person テーブルに挿入しようとするため、このコードは最初の挿入で失敗します。
これを正しく実装するにはどうすればよいですか?
c# - リフレクションを使用して C# で動的に作成された NPOCO オブジェクトのキーと値を取得する
システム管理者が選択したテーブル内のすべての値をチェックできる管理モジュールを作成する必要があります。データベースには 100 を超えるテーブルがあるためIEnumerable<object>
、データと共にを返すジェネリック メソッドを作成しました。
結果の各項目は typeobject{NPoco.PocoExpando}
であり、各項目のキーと値を取得して単一の文字列に変換する必要があります。コレクションで foreach を作成すると、すべてのアイテムが次のようになります。
では、これらの "Keys" および "Values" プロパティにアクセスするにはどうすればよいでしょうか? 辞書を入手することも役立つかもしれません。
編集:@Shaun Luttinの回答に感謝します。これは機能するコードです