問題タブ [plinqo]
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# - LINQ2SQL + PLINQO: このような単純な状況をどのように処理しますか?
私は PLINQO を初めて使用し、LINQ2SQL を初めて使用し、古い既存の DAL と並行して新しい DAL (DAL2 と呼ばれる) を追加しています。私たちの考えは、追加するすべての新しいものに linq2sql の使用を開始し、古い DAL の使用法を新しい DAL2 に徐々に移行し始めることです。
ご存知のように、DLINQ は単純なことには適していますが、より複雑なシナリオ (多対多、分離されたオブジェクトなど) では問題がすぐに発生し、それを回避する必要があります。PLINQO (CodeSmish と一緒に) が助けになり、必要なすべての構造とツールを追加して、より使いやすくします。ここまでは順調ですね。
今、私はすでに DAL2 を持っています (マネージャーを使用しています)。できます"。しかし、いくつか疑問があります。
次のクエリで構成されるオブジェクトを返すことを理解しています:
…ほとんどの DB アプリケーションで奇妙なシナリオではありません。クエリは、優れた匿名型となる単純な例です。
ここで、このようなテーブル構造を想像してみてください。
アイデアは、各タグに何人の患者がいるかを知ることです。タグと患者タグの間の単純な内部結合は、SQL でこれを修正します。そのために患者テーブルにアクセスする必要さえありません。(私はちょうどカウントが必要です)。
結局のところ、私が欲しいのは、たとえば次のとおりです。
タグ1、33
タグ2、21
タグ3、6
など…</p>
それを実行する linq2sql クエリを作成できたとします。
(私はLINQに慣れていないので、上記が良くない場合は、「LINQissm」の不足を許してください)
その「新しい」匿名型を返すことができないことを考えると (私の意図ではないオブジェクトとリフレクションを使用しない限り)、2 つのもの (名前と合計) を含む「ヘルパー」クラスを作成する必要があると思います。上記のコードは、UI のコードではなく、データ層またはビジネス層のどこかに配置する必要があるという考えです。
今、本当の質問:
上記が当てはまる場合、(適切な表示と処理のために) その結果 (または結果の配列) を UI に返したい場合、その「ヘルパー」をどこに作成すればよいですか?
1) DAL2/Helper/TagNameTotal.cs で (例を挙げると)
2) BLayer/Helpers/TagNameTotals.cs で?
3) 上記のどれでもない? (またはどちらか?)
上記が当てはまらない場合、私は何を間違って考えていますか?
誰かがクエリの結果を UI に渡して変更したい場合、それは普通のことではありませんか? 上記の例で、UI の TagName を変更したいとします (これは最適な例ではありませんが、適用されます)。
すみませんが、Web プロジェクトや単純なアプリの外で使用する場合、LINQ2SQL 全体が少し粗雑であることがわかります。これらは、私たちが ADO.NET (およびそれ以前のレコードセット) でずっと行ってきた基本的なことです。
select/join/group/crazySQL を作成し、変更して、変更をコミットします。
PLINQO は、LINQ2SQL の煩わしさ (多くの 2 つの多く、切り離された、コンテキストの再生成、キャッシュなど) を取り除くため、優れていますが、それでも LINQ であるため、DLINQ のプラクティスを適用する必要があります。
私は何が欠けていますか?
注: PLinq と PLinqO を混同しないでください。
exception-handling - PLINQOでBrokenRuleExceptionをキャッチする方法は?
を追加してカスタムルールを作成しました
私のEntityクラスに。
次に、ルールを追加しました(ビデオには日付があり、間違った情報が含まれていますが、ビデオに表示されています)。
しかし今、私は呼び出しコードを持っています…</ p>
私が持っているのは、割り当て、セキュリティ、検証です。
PLINQOで違反したルールの例外をキャッチする正しい方法は何ですか?
c# - ドロップダウンリストにバインドするには、文字列ではなく強く型付けされたデータを使用します
次のクラスが与えられます...
そして次のように与えられます。
ドロップダウンリストのDataValueフィールドとDataTextフィールドを強く入力するにはどうすればよいですか?基本的に、文字列ではなくエンティティの列名を使用します。LinqToSql(データレイヤーを生成するためのコードスミステンプレートセットであるPLinqo)を使用しています。誰か助けてもらえますか?
c# - PLINQOでM:Mを削除する正しい方法は?
次のテーブル構造があるとします。
患者 -> 患者タグ -> タグ
患者とタグ間の典型的な N:M 関係で、PatientTag は両方の FK を持つ中間エンティティです。(PatientId および TagId)。
特定のタグを削除したいのですが、その ID があります。私はこれを行っていますが、より良い方法があるかどうかを知りたいです。これらは PLINQO を使用して記述した最初のメソッドであるため、最初から悪いプラクティスを作成したくありません。
この件に関する洞察をありがとう。
entity-framework - プリンコ 4 対 EF 4
plinqo 4 の経験がある人はいますか? EF 4 と比べてどのような利点がありますか?
plinqo - PLINQO がエンティティに正しく名前を付けていない
TableNaming と EntityNaming を Singular として使用するように CSP ファイルを設定しました。
しかし、生成されるエンティティは複数です。
たとえば、Companys というテーブルがあります。生成された名前は "Companies" で、"Company" を期待していました (LinqToSql のように -- 私はプロジェクトをアップグレードしています)。
EntityStorageItems という名前のテーブルがあります (これらのエンティティとは関係ありません)。生成された名前は「EntityStorageItems」です。エンティティ名は「EntityStorageItem」であると予想していました。
IOW、複数の名前を作成しています。そして、それらが特異である必要があります(既存のコードで動作するため)。
私は何か間違ったことをしていますか?
asp.net-mvc-2 - PLINQO と ASP.NET MVC 2.0 の使用に問題がある人はいますか?
ASP.NET MVC 1.0 サイトで作業していて、ASP.NET MVC 2.0 にアップグレードすることを考えているため、質問しています。その後、PLINQO 5.0がリリースされたことを読み (PLINQO について聞いたことがありませんでした)、PLINQO の機能に感銘を受けました。
1) PLINQO は、実行時に ASP.NET MVC 2.0 UI プロジェクトを構築できますか?
2) PLINQO (特に ASP.NET MVC アプリ) を使用して悪い経験をしたことがありますか?
シナリオが頭の中にあることを確認させてください。
PLINQO を使用して (ASP.NET MVC 2.0 をサポートしていると仮定して)、DB を指すことができるはずで、データ、テスト、mvc 2.0 UI の 3 つのプロジェクトが作成されますか? データには LINQ to SQL クエリが含まれ、PLINQO 拡張機能が追加され、他のプロジェクトは既定でデータ プロジェクトを使用するように設定されますか?
database - PLINQOで生成されたデータを使用するときにリポジトリパターンを使用しますか?
MVCアプリを「アップグレード」しています。以前は、DALは、標準のLINQ to SQLクエリを使用する一連のリポジトリ(エンティティ名に基づく)として、モデルの一部でした。現在、これは別のプロジェクトであり、PLINQOを使用して生成されます。
PLINQOはエンティティのプロパティに基づいてクエリ拡張機能を生成するため、コントローラーで直接使用し始めました...そしてリポジトリをすべて削除しました。
正常に動作しています。これはあなたの経験に基づいた質問です。このパスを続行する必要がありますか、それともリポジトリを再構築する必要がありますか(リポジトリファイル内のDALとしてPLINQOを使用)?
PLINQOで生成されたデータコンテキストを使用する利点の1つは、DBアクセスが必要な場合に、データコンテキストへの参照を1つだけ作成することです。リポジトリパターンでは、データアクセスが必要なときに各リポジトリを参照する必要があり、単一のコントローラー上の複数のリポジトリを参照する必要がある場合もありました。
私がリポジトリで見た大きな利点は、適切な名前のクエリメソッド(つまり、FindAllProductsByCategoryId(int id)など)でした。PLINQOコードでは、それは_db.Product.ByCatId(int id)です-これも悪くはありません。
私は両方が好きですが、それが「ハリアー」になるのは、クエリが述語を使用する場合です。それをリポジトリクエリメソッドにロールアップできます。ただし、PLINQOコードでは、_db.Product.Where(x => x.CatId == 1 && x.OrderId == 1);のようになります。コントローラーにそのようなコードを含めるのが好きかどうかはわかりません。
これについてどう思いますか?
codesmith - PLINQOビルドクラスライブラリでの生成を停止します
私は今のところ本当によく見えるPLINQOを使い始めたばかりです。
私が抱えている唯一の問題は、含まれているクラスライブラリを再構築するエンティティに対してカスタム修正を行っているときに、コードスミスがVisualStudioメッセージを表示するクラスライブラリを再生成したいということです。「あなたのプロジェクトは外部で修正されました。リロードしますか?」等..
これをオフにできますか?また、再生成したい場合は、cspファイルを右クリックするだけですか?
ありがとう
ケビン
indexing - PLINQO 主キーとインデックスの問題
Profile と ProfileCategory の 2 つのテーブルがあります。
PLINGO でコードを生成すると、次のエラーが発生します。
演算子「==」はタイプ「int?」のオペランドには適用できません および 'System.Guid' 演算子 '==' は、型 'int?' のオペランドには適用できません。および「System.Guid」
生成されたコードと次のコードに飛び込みました。
したがって、生成されたコードは、インデックスと主キーを比較したいようです
コードを手動で変更できますが、再生成すると元に戻されます。
なぜこれが起こっているのか誰にも分かりますか?
ありがとう
これは、dbml のプロファイル スニペットです。