問題タブ [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.
orm - PetaPocoでSQLWHEREINコンストラクトを使用するにはどうすればよいですか?
タグ(Id、Name)という名前のデータベーステーブルがあり、そこから名前がリスト内の名前と一致するものを選択したいと思います。SQLでは、次のようなものを使用します。
しかし、現在ASP.Net MVC3プロジェクトでPetaPocoを使用しているので、それを適切に行う方法を理解するのに行き詰まっています。これまでに試しました:
これにより、次のSQLが生成されます。ここでは、tagsToFindのリストの名のみが、すべてではなく、テーブルデータの照合に使用されます。
これはおそらくそれほど難しいことではないことを知っているので、少しイライラします。助けていただければ幸いです。
更新: 別の方法で実行できることがわかりました
これにより、sqlparametersを使用しているときに必要なものが得られます。とてもきれいではありませんが、今のところは十分だと思います。
/マイク
c# - Npoco FetchOneToManyの使い方は?
Npocoを使用しようとしていますが、FetchOneToManyでいくつかの問題が発生しています。
2つのテーブルを結合するSQLステートメントがあり、すべての列を出力します。
実際のクエリで4つのパラメータを渡しています。結果TableBs property
が返ってきて、いっぱいになり、見栄えがします。ただし、EffectiveDateは何らかの理由で入力されず、デフォルトのC#時間です。
私は何が欠けていますか?
編集
これは私のクエリとして持っているものです
petapoco - PetaPoco / NPocoを使用した複数のクエリ?
これらの2つのテーブル/ドメインがあるとしましょう
これを行うと、TableA.TableB
getsがいっぱいになり、TableA
idがいっぱいになりますが、City
nullになります。バインドする各列を指定する必要があります。各列を指定する代わりに星だけを使用する方法はありますか?
c# - PetaPoco.relation extensions fetch many-to-one gives me unwanted children by default
I have for example two tables like:
And then two c# classes like:
When I use Petapoco and relationextensions like (where db is a instance of Petapocos database object):
I get the expected result of parents, three items in my list with correct ids but NOT with correct children. The first two are correct with their connected children, "first child" and "second child" BUT the third parent which has no children in the database get a default instance of a child. With that I mean the third parent has a collection of children with count 1. And that list contains one child which has only default values. Id = 0, Name = NULL, ParentId = 0
. This is not what I want. I would like that collection to not contain any children. The alternatives I see it is that collection to be null or an instance of IList but with no items.
What am I doing wrong and how could I correct it?
c# - ペタポコ vs Nポコ
NPoco
のより高度な機能を実装する DLL のようですPetaPoco
。 PetaPoco
コード生成テンプレートとPetaPoco.cs
. Nuget のバージョンPetaPoco
は 4.0.3 です。の機能の一部を実装するバージョン (つまり、4.0.12) があることは知っていますNPoco
。
PetaPoco
のコード生成と最新の機能をNPoco
一緒に使用するにはどうすればよいですか?
petapoco - 子が独自のマッピングを行う場合、NPoco で複数を取得します
次のコードを使用して、NPoco FetchManyToOne を使用して親とその子をフェッチすることに成功しました。
現在、子供が期間に属することができるこのシナリオがあります。これはオプションであるため、子は期間に属している必要はありません。データベースでは、Period テーブルは id 列と 2 つの datetime 列 (Start と End) で構成されています。子テーブルには新しい列 PeriodId があり、期間に属していない場合は null 値を含めることができます。
クラス Child は、Period 型の新しいプロパティを取得します。これは、null またはクラス Period のインスタンスにすることができます。クラス構造への変更を見てください。
この sql を自分のクラスにマップするにはどうすればよいですか?
そのため、子が期間の一部である場合、その期間はクラス Child のプロパティ ChildPeriod の値になります。それは可能ですか、それともデータベースへの 2 つの呼び出しを作成し、自分で手動マッピングを行う必要がありますか?
asp.net-mvc - NPoco StructureMap.MVC4 コンストラクター インジェクション
StructureMap.MVC4 を使用する MVC4 アプリケーションがあります。これは IoC.cs の一部です
DbContext インジェクションは正常に機能し、ActionFilters のセッター インジェクション、およびデフォルトの規則を使用するすべての Service:IService も正常に機能します。しかし、IDatabase を挿入しようとすると、次のエラーが発生しました。
に変更すると
できます。理由はありますか?New を使用すると、特に IDbContext インスタンスと混合する場合に、IDatabase の別のインスタンスになるのではないかと思います。ありがとう。
c# - PetaPoco/NPoco - poco で計算されたプロパティ
プロジェクトで PetaPoco/NPoco を使用しています。私が使用しているデータベース スキーマはあまりよく考えられていないため、POCO を wpf mvvm ビューに直接バインドすることはできません (これは、データベース スキーマも作成していたときに実行できたことです)。この問題に対する 2 つの可能な解決策を検討しています。
- マップされていないプロパティを POCO に追加する
- poco への参照を使用して、poco のラッパーを作成します。
この問題の実証済みのパターンは存在しますか?
c# - null の可能性があるネストされた NPoco オブジェクトを処理するにはどうすればよいですか?
データベースからのオブジェクト マッピングに NPoco を使用しています。次のエンティティがあります。
リポジトリで NPoco を使用してオブジェクトを取得しています。
Person
が を持たない場合を除いて、これは正常に機能していますOffice
。この場合、SQL クエリの結果はLEFT JOIN
、Office、Address、および Organization 列に対して null を返します。
この状況では、未処理の例外が NPoco でスローされます。
この状況を処理する方法はありますか? それとも、フラット化されたオブジェクトや別のデータベース呼び出しに頼る必要がありますか?
petapoco - ペタポコは非推奨ですか?今NPocoを使うべきですか?(2013年第3四半期)
私はいくつかの新しいプロジェクトを開始しており、PetaPoco (他のプロジェクトで以前に使用したことがあります) または NPoco を使用したいと考えています。
NPoco は PetaPoco (v4.x ベース) のブランチであり、PetaPoco は現在 v5.x です。
しかし、NPoco は PetaPoco + いくつかの新機能のようですが、コード ベースは現在少し分岐しており、PetaPoco への変更を NPoco に簡単に統合することはできず、その逆も同様です。
PetaPoco はまだ開発中ですか、それとも非推奨/メンテナンス モードですか? 今後の開発はすべて NPoco で行われますか?