問題タブ [data-access-layer]

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.

0 投票する
7 に答える
8223 参照

.net - 型指定されたデータセットの欠点は何ですか

私は、他の人が構築したライブラリやフレームワークに依存するよりも、独自の構築を好む世界の出身です。この世界から逃れた後、Visual Studio 内で型指定されたデータセットなどのツールを使用する喜びと使いやすさを発見しました。では、柔軟性の喪失以外に、他に何を失うのでしょうか? パフォーマンス要因はありますか (プロシージャと動的 SQL の議論を無視して)? 制限?

0 投票する
10 に答える
43681 参照

terminology - データ アクセス層の目的は何ですか?

私はずっと前にプロジェクトを開始し、ソリューションでデータ アクセス レイヤープロジェクトを作成しましたが、その中で何も開発したことがありません。データ アクセス層の目的は何ですか? データ アクセス レイヤーについて詳しく学べる良い情報源はありますか?

0 投票する
12 に答える
28764 参照

.net - NHibernate のパフォーマンスを向上させる最善の方法は何ですか?

NHibernate を ORM として使用するアプリケーションがあり、データへのアクセス方法が原因でパフォーマンスの問題が発生することがあります。NHibernate のパフォーマンスを改善するには、どのようなことを行うことができますか? (回答ごとに 1 つの推奨事項に制限してください)

0 投票する
6 に答える
1638 参照

java - Java Web アプリケーションの静的レイヤー

かなり標準的な Web/サービス/データ アクセス レイヤード デザインを使用して、楽しみ/学習用の小さな Web サイトを構築しています。

サービス レイヤー/データ アクセス レイヤー クラスのインスタンスを常に作成する必要がないように、それらのメソッドをすべて静的にしました。ローカル変数などを使用し、リソースを共有しないため、同時実行の問題は発生しないはずです (現時点では、これについては十分に単純です)。

私が見る限り、これに対する唯一のトレードオフは、実際には真のオブジェクト指向アプローチに従っていないということですが、それでもコードをよりクリーンに保ちます。

これが実行可能なアプローチではない理由はありますか? 後でどのような問題が発生する可能性がありますか?必要に応じてサービスおよびデータ層クラスのインスタンスを返すことができる「ファクトリ」クラスを用意した方がよいでしょうか?

0 投票する
3 に答える
1702 参照

c# - 重複を防ぐためのIsolationLevel.RepeatableRead

PayPal即時支払い通知を受信したときに商品(配送保険証券など)を作成することになっているアプリケーションに取り組んでいます。残念ながら、PayPalは重複した通知を送信することがあります。さらに、PayPalから更新を取得するときにWebサービスの更新を同時に実行している別のサードパーティもあります。

これは、関連するデータベーステーブルの基本的な図です。

これが私がやりたいことの基本的な図です:

これを同時に実行する2つ(またはそれ以上)のスレッド(またはプロセスまたはアプリケーション)がある場合、ポリシーが作成されてpolicyIDが割り当てられるまで、最初のスレッドがpolicyIDを持たないときに「パッケージ」行をロックする必要がありますパッケージテーブルに。次に、policyIDがパッケージテーブルに割り当てられた後、ロックが解除されます。この同じコードを呼び出している他のスレッドがパッケージ行を読み取るときに一時停止して、最初にpolicyIDがないことを確認することを願っています。最初のトランザクションのロックが解除されたときに、2番目のトランザクションがpolicyIDが存在することを確認し、ポリシーテーブルに行を挿入せずに戻ることを期待しています。

注:CRUDデータベースの設計により、各ストアドプロシージャには、読み取り(選択)、作成(挿入)、または更新のいずれかが含まれていました。

これはRepeatableReadトランザクション分離の正しい使用法ですか?

ありがとう。

0 投票する
4 に答える
20388 参照

data-access-layer - 「データ サービス層」と「データ アクセス層」の違いは何ですか?

1 つは低レベルの呼び出しをデータに依存しないフレームワーク (例: ExecuteCommand メソッドなど) に抽象化し、もう 1 つは通常ビジネス固有のメソッド (例: UpdateCustomer) を含むことを読んだことを覚えています。

これは正しいです?どれがどれですか?

0 投票する
5 に答える
4226 参照

architecture - データ アクセス層はどのように構成する必要がありますか?

私は当初、このコード プロジェクトの記事で概説されている s# アーキテクチャの例に従ってシステムを設計しました(残念ながら、私は NHibernate を使用していません)。基本的な考え方は、永続化レイヤーと通信する必要があるドメイン オブジェクトごとに、対応するデータ アクセス オブジェクトを別のライブラリに持つというものです。各データ アクセス オブジェクトはインターフェイスを実装し、ドメイン オブジェクトがデータ アクセス メソッドにアクセスする必要がある場合、常にインターフェイスに対してコーディングし、DAO 自体に対してコーディングすることはありません。

当時も今も、このデザインは非常に柔軟だと思いました。しかし、ドメイン モデル内のオブジェクトの量が増えるにつれて、ここに組織上の問題がないか疑問に思うようになりました。たとえば、ドメイン内のほぼすべてのオブジェクトは、最終的に対応するデータ アクセス オブジェクトとデータ アクセス オブジェクト インターフェイスになります。それだけでなく、これらはそれぞれ別の場所にあるため、いくつかの名前空間をシフトするような単純なことをしたい場合、維持するのがより困難になります。

興味深いことに、これらの DAO (および対応するインターフェイス) の多くは非常に単純な生き物です。最も一般的なものには、GetById() メソッドが 1 つしかありません。私は次のようなたくさんのオブジェクトになってしまいます

それらの実装者も通常非常に些細なことです。これは、単純なデータ アクセス タスク用に 1 つのオブジェクトを用意し、もう少し何かを必要とするタスクのために専用のデータ アクセス オブジェクトの作成を予約することで戦略を切り替えることで、別の方向に進む方が簡単ではないかどうか疑問に思っています。複雑。

このようなアーキテクチャの経験がある人はいますか? 全体的に、これらすべての小さなファイルを管理することだけが私の関心事であるため、セットアップに非常に満足しています. しかし、データアクセスレイヤーを構築するための他のアプローチが存在するかどうかはまだ疑問に思っています。

0 投票する
9 に答える
1477 参照

linq - LINQ - 通常、LINQ はどの層、DAL に分類されますか?

LINQ がどのレイヤーに分類されるべきか (そしてなぜ) について、さまざまなアイデアや視点を集めたかっただけですか?

0 投票する
6 に答える
2336 参照

.net - ビジネス オブジェクトの DAL 設計

ビジネス オブジェクトを設計するとき、データ アクセス層を作成するさまざまな方法を試しました。いくつかは他のものよりもうまくいきましたが、私はいつも「より良い」方法がなければならないと感じていました.

人々がさまざまな状況で DAL を処理したさまざまな方法と、この手法がどのように機能したか、またはうまく機能しなかったかについての意見を知りたいだけです。

0 投票する
2 に答える
448 参照

xml - データ ソースとしての XML : 読み取りのベスト プラクティス

私は初めて XML を唯一のデータ ソースとして使用したい小さなプロジェクトに取り組んでいます...ファイル ベースのストアがプロジェクトのニーズに合っています。

DAL を作成するとき、すべての get メソッドを静的にする必要がありますか? 「ファイルを開いている間に読む」エラーを回避するには?ファイルで CacheDependency を使用する必要がありますか?

どうも