問題タブ [persistence]
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# - アトミック アクションごとに 1 つの DataContext で LINQ to SQL を使用する際の問題
次のような(非常に単純化された)システム(少しDDDのような)でLinq to SQLの使用を開始しました。
さて、問題が発生しました。このように SomeEntityRepository を使用しようとすると
プログラムが最後の WriteLine に到達するまで、すべてがうまく機能ObjectDisposedException
します。
実際の問題はわかりますが、どうすればこれを解決できますか? いくつかの解決策があると思いますが、これまでに考えたもののどれも私の状況には適していません。
- リポジトリ パターンから離れて、作業のアトミックな部分ごとに新しい DataContext を使用します。
- 私は本当にこれをしたくありません。理由は、アプリがリポジトリを意識したくないからです。もう 1 つは、linq2sql を COM で可視化するのは良いことだとは思わないということです。
- また、私が
context.SubmitChanges()
意図したよりも多くのことをコミットする可能性が高いと思います。
- 関連する要素をフェッチするための DataLoadOptions を指定します。
- 場合によっては、ビジネス ロジック レイヤーがいくつかのエンティティで応答するようにしたいので、どのサブ プロパティを使用する必要があるかわかりません。
- すべてのプロパティの遅延読み込み/遅延読み込みを無効にします。
- かなりの数のテーブルがあり、それらは強くリンクされているため、オプションではありません。これにより、多くの不要なトラフィックとデータベースの負荷が発生する可能性があります。
- インターネット上のいくつかの投稿では、.Single() を使用すると役立つはずです。
- どうやらそうではありません...
この悲惨さを解決する方法はありますか?
ところで: Linq t0 SQL を使用することにしたのは、それが比較的軽量な ORM ソリューションであり、.NET フレームワークと Visual Studio に含まれているためです。.NET Entity Framework がこのパターンにより適している場合は、それに切り替えるオプションになる可能性があります。(実装はまだそこまで進んでいません。)
c# - .Net データ処理の提案
私はアプリケーションを書き始めたばかりです。必要なことの一部は、栄養情報のデータベースに対してクエリを実行することです。私が持っているのは、フラット区切りの ASCII ファイル形式のUSDA のSR21 データセットです。
私に必要なのはアドバイスです。このデータをアプリにインポートし、実行時に簡単かつ迅速にクエリできるようにする最善の方法を探しています。私はすべての標準的なものにそれを使用します。コントロール、データグリッド、計算などを動的に設定します。また、ユーザー固有の永続的なデータ ストレージも行う必要があります。これは商用アプリではないので、可能性が広がることを願っています. 私は.Net Framework 3.5で問題ないので、データにアクセスするときにLinqが可能です(それが最善の解決策であるかどうかはわかりません)。では、このシナリオでの永続ストレージの提案は何ですか? どのような落とし穴に注意する必要がありますか? もちろん、例へのリンクは常に歓迎されます。
wcf - セッション間のWCFデータの永続性
WCFベースのシステムを開発しています。その過程で、複数のユーザーによる変更から一部のデータをロックしようとしています。そこで、ロックロジックを実行するために必要な情報を含むデータ構造を作成することにしました(たとえば、ロックされたオブジェクトのIDを保存するなど)。
私たちが抱えている問題は、セッション間でそのデータを永続化することです。とにかく、高価なデータベース呼び出しの実行を回避できますか?WCFは開いているセッション中にのみ(メモリ内の)データを永続化できるため、WCFでこれをどのように行うことができるかわかりません。
asp.net - TDD を実行するときにテスト DB を作成するにはどうすればよいですか?
ASP.NET サイト (例: ASP.NET MVC サイト) を実行するときに、テスト永続化レイヤーを作成するためのベスト プラクティスは何ですか?
私が見た多くの例では、単体テスト プロジェクトで Moq (または別のモッキング フレームワーク) を使用していますが、永続化レイヤーを moq アウトして、Web サイトにデータなどを表示するようにしたいのですが、それはデータベースからのものではありません。それを最後にしたい。私が見たすべてのモックは、単体テストにしか存在しません。
迅速かつ迅速な開発のために永続化レイヤーを偽造 (スタブ?) したい場合、人々はどのようなプラクティスを実行しますか? 私はそれを処理するために Dependency Injection を使用し、永続化レイヤーにハードコードされた結果をいくつか持っています (これは本当に手作業で退屈です)。
他の人は何をしていますか?例とリンクは素晴らしいでしょう:)
アップデート
ちょっとした更新: これまでのところ、各クラスがインターフェイスを実装する偽のリポジトリと SQL リポジトリを使用することで、かなりの距離を稼いでいます。次に、DI (私は StructureMap を使用しています) を使用して、偽のリポジトリと SQL リポジトリを切り替えることができます。これまでのところ、うまく機能しています:)
(これを編集していたときから、ほぼ11か月前にこの質問をしたと思うと恐ろしいです!)
database - Common Lisp における関数の永続性
関数の永続性を可能にする、Elephant などの Common Lisp 用の永続化ソリューションはありますか? 現在、私のアプリは識別子をデータベースに保存し、後で関数テーブルを検索しますが、この方法では動的に作成された関数を保存できません。
database - データベース外でトランザクション動作が必要になることはありますか?
トランザクションのないデータベースで複雑なことをするつもりはありません。ほとんどの場合、使いやすい組み込みコマンドがあります。しかし、他の永続データを扱うようになると、トランザクション サポートを簡単に使用することができなくなります。いくつかの例は
- ファイルシステム
- Web サービス (私が使用したものはありません)
非永続データであっても、例外に続いて作業ブロックを元に戻すと便利なことがよくあります。言語で得られる標準的なデータ構造はどれも、トランザクションをサポートしていません。
私が知りたいのは、なぜデータベースが特殊なケースなのですか?
データベース外のトランザクション動作のトピックへの有用なリンクはありますか?
blackberry - IRimTable と PersistenceStore の関係は何ですか?
BlackBerry Desktop API にはインターフェイス IRimTable があり、BlackBerry デバイス上の「アプリケーション データベース」を仮想構造 (つまり、IRimTable には IRimRecords があり、それぞれに IRimField があります) にマッピングされ、開発者は接続時にハンドヘルド デバイスのデータを参照できます。デスクトップコンピュータ。
一方、ハンドヘルド デバイスのアプリケーションは、そのデータを PersistenceStore データベースに保存できます。私が立ち往生している点は、PersistenceStore API がテーブル、レコード、またはフィールドを定義していないことです。
これら2つのクラスの関係を知っている人はいますか? そして、マッピングはどのように機能しますか(もしあれば)?
asp.net-2.0 - Asp.net 2.0のさまざまなスコープ内のオブジェクトを格納する方法、場所
いくつかの助けについてあなたに尋ねる必要があります。
Net2.0でWebアプリを実行しています。
オブジェクトの使用範囲が異なるため、オブジェクトに使用するストレージ(キャッシュ、セッション、ファイル)を尋ねたいと思います。いくつかのグループに分けることができます:
1)訪問者に直接関連するオブジェクト(たとえば、認証後に受信される訪問者に関する詳細)
2)すべての訪問者に使用されるオブジェクト、したがってその適用範囲(一部の初期データ、共通データ)
これらのオブジェクトのほとんどは、高価なWebサービスからデータを取得します。
それで、速度、メモリ、アクセシビリティ、そして他に何に注意すべきかを考えると、私の最良の選択は何ですか。
どんな助けでも大歓迎です。ありがとう、X。
java - ejb3-persistence.jar ソース
Sun の persistence.jar または JBoss の ejb3-persistence.jar JPA パッケージの Java ソースが見つからないので、脳が損傷しているに違いありません。それらはオープンソースですよね?
java.sun.com サイトと GlassFish wiki を隅々まで調べましたが、何もありませんでした。
Sun が Java JDK で提供するような src.zip またはフォルダーが必要です。
もちろん、実際に持っている必要はありませんが、たまにソースを閲覧するのは楽しいと思います。また、コードをデバッグするのにも役立ちます。
java - JPA トランザクションでの java.lang.UnsupportedOperationException
JPA (私は OpenJPA を使用しています) について何かを理解していないと確信しており、それがこの問題を引き起こしています。Job エンティティのコピーを作成したいと考えています。
次のコードを実行すると、最初のコピーを作成するときに期待どおりに機能します。
2 番目のコピーを作成しようとすると失敗します...
この例外は、JobManager.copyJob() メソッドでスローされます (行: attachedJob.getCopies().add(newJob);)...
これは私が使用している生成されたDBスキーマです...
OpenJPA 1.2 のソース コードを見ると、DetachedStateManager.getMetaData() メソッドが実装されていないため、なぜ呼び出されているのか疑問に思っています。任意のヒント??