問題タブ [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.
linq-to-sql - PLINQO / LINQ-To-SQL - 生成されたエンティティの自己保存方法?
こんにちは、基本的なデータモデル/レイヤーを作成しようとしています
アイデアは次のとおりです。
タスク task = TaskRepository.GetTask(2);
task.Description = "タスクが変更されました";
task.Save();
これは可能ですか?以下のコードを試しました
注: TaskRepository.GetTask() メソッドは Task エンティティを切り離します。
これでうまくいくと思いますが、うまくいかない理由はありますか?
ありがとう
sql - 複数のIDでカスタムPLINQOクエリを作成するにはどうすればよいですか?
これが私のテーブル構造です
場所
- PlaceId PK
- 名前
- ..。
PlaceCategories
- CatId PK
- 名前
- ..。
PlaceCats
- PlaceId PK
- CatId PK
カテゴリID(テーブル結合)に基づいてプレイスをプルするクエリは次のとおりです
私はそれを次のように使用します:
List<int>
しかし、カテゴリIDのに基づいてプルできるようにしたいと思います。生成されたPLINQOコードを見ると、複数のPlaceIdをプルする(ただし、結合されたテーブルを使用しない)クエリは次のようになります。
これらの2つのクエリを基本的にマージして、List<int>
クエリするCatIdを渡すにはどうすればよいですか?このLINQ/PLINQOクエリは、私の脳を溶かしています。前もって感謝します!
linq-to-sql - 外部プログラムから Plinqo メタデータにアクセスするための戦略は何ですか?
私は Plinqo と Linq-to-SQL を使用してリポジトリを実装しています。メタデータを調べてそれに応じて動作することで、UI に検証ルールを通知したいと思います。問題は、Plinqo のメタデータ クラスが internal とマークされ、それらが装飾するクラス内にネストされていることです。
これらのクラスを取得して、別のアセンブリからそれらの属性を列挙するにはどうすればよいですか?
linq-to-sql - PLINQO多対多.Remove(...)
PLINQOで、次のことが有効なのはなぜですか。
しかし、次はそうではありませんか?
Remove()を使用して、多対多テーブルのPKの親FK部分をnullに設定しようとします。これを介してPLINQOを使用して関係を削除する唯一の方法はありますか?
c# - C#/PLINQO-同じエンティティを同じコンテキストにデタッチして再接続すると失敗します
LINQ-TO-SQLデータレイヤーにPLINQOを使用しています。
私は次のコードを持っています(実際のコードではなく、私が得ているエラーを再現するためだけです):
コードの最後の行を実行すると、InvalidOperationExceptionが発生し、次のエラーメッセージが表示されます:「既存のエンティティをアタッチできません。」
Detachメソッドはエンティティをコンテキストから切り離す必要があると思いました。エンティティからコンテキストへのリンクを削除するだけのようですが、コンテキストはエンティティを「記憶」しています。
エラーが発生しないように、エンティティを完全に切り離すにはどうすればよいですか?
ありがとう、コビー
c# - PLINQO とトランザクションの問題
PLINQO を使用して、n 層の分散システムにリポジトリ レイヤーとデータ層を実装する作業を開始しました。
データ層は次の層で構成されています: リポジトリ、データ プロバイダー、データ サービス
データベースからデータを取得し、データベースにデータを設定する役割を担うリポジトリ層。
データ プロバイダー レイヤーは、リポジトリとサービス レイヤーの間のゲートです。
データ サービス層は、すべてのビジネス ロジックとルールを保持します。
トランザクションを使用すると、このアーキテクチャで問題が発生します。「既に存在するエンティティをアタッチできません」というエラー メッセージとともにInvalidOperationExceptionが発生します。よく。
その理由は、リポジトリ層の設計のためです。すべてのリポジトリ メソッドで共通の手順は次のとおりです。
InTransactionが trueのときにInvalidOperationExceptionが発生し、同じエンティティで動作する 2 つのメソッドを呼び出しています。InTransaction が true であるため、2 つのメソッドは同じデータ コンテキストを使用します。最初のメソッドはエンティティをアタッチし、最後にデタッチし、2 番目のメソッドもアタッチしようとすると、例外が発生します。
私は何を間違っていますか?どうすればこれを防ぐことができますか?
ありがとう、
コビー
entity-framework - PLINQO と Entity Framework の使用に関する最近の意見はありますか?
Entity Framework から PLINQO L2S への移行を検討しています。MVC3 アプリケーションで EF を管理するのは非常に難しいことがわかっています。私たちのアプリケーションには改善できる領域があることに同意しますが、全体として、EF は私たちにとって最良の選択ではなかった可能性があります。
最近、誰かが EF から PLINQO L2S に移行したかどうか知りたいです。私は 2010 年にさかのぼって多くの投稿を読みましたが、当時の EF はまったく別の動物でした。PLINQO for EF には興味がありません。
c# - LINQ to SQL - OnPropertyChanged を使用して更新すると、「行が見つからないか変更されました」
次のコードの Save メソッドは、「Row not found or changed」というエラーで失敗しています。
質問は、CodeSmith および PLINQO テンプレートを使用して生成された DTO です。ただし、「Row not found or changed」エラーは、OnPropertyChanged イベントにカスタム オーバーライドを実装して、レコードが作成または変更されたときに自動的に挿入された後にのみ発生します。生成されたクエリをプロファイリングしました。getQuestionById メソッドが実行されると、通常の select ステートメントが実行されます。ただし、変更日が '2012-07-28 12:15:00.900' として返される場合、レコードを保存しようとすると、Modified = '2012-07-28 12:15: が追加されているため、更新は失敗します。これは、データベースに存在するものとは数ミリ秒異なります。したがって、これは、生成された Question オブジェクトに追加された次のコードと関係があることがわかっています。
秒よりも高い精度を使用するフィールドの場合、dbml で UpdateMode を never に設定することを提案する投稿をいくつか見つけました。これは最後の手段として使用できますが、同じコードを同じデータ型の他のテーブルにしばらくの間問題なく追加してきました。なぜこの 1 つのテーブルでのみ発生しているのかを理解したいと思います。これもランダムに失敗するようです。再現するための具体的な手順はありませんが、デバッグしていないときはより頻繁に発生するようです。
c# - CodeSmith 一括更新で使用する linq 式をフィルタリングする方法
次のラッパー コードで CodeSmith Plinqo の一括更新機能を使用しています。
使用例:
これは、「フィルター」に 2100 を超える要素が含まれている場合を除いてうまく機能し、次の SQL サーバー エラーが発生します。 RPC リクエスト。最大値は 2100 です。」
私がやりたいのは、「フィルター」式を 2000 個のアイテム チャンクに分割するように更新ラッパーを拡張することです。この擬似コードのようなもの: