問題タブ [data-access]
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.
asp.net - ASP.netで現在推奨されているデータアクセス層はどれですか?
私は現在、発生した問題を書き留め、他の人が見ることができるようにそれらに答える小さなWebサイトを構築しています。現在、ここで説明されているようなDALを使用しています。現在、他のモデル、特にLinq2SQLとADO.netエントリフレームワークを使用したlinqベースのモデルを検討しています。たとえば、linqクエリを使用してトップリストを除外しているので、ある意味でデータアクセスをコードレイヤーに移動していることに気付きました。私がこれを始めた理由は、DALが常にDBと実際に同期していなかったためであり、DB内の何かを変更すると、null許容型がnull許容型ではなくなったためです。次に、テーブルをデータテーブルに再インポートすると、クエリが失われます。
私の簡単な質問は、今日ASP.netに適したDALが必要な場合、それは何でしょうか。提案、経験は大歓迎です。
linq - LinqToSQL は Linq と同じですか?
Linq to SQL の廃止について読んでいたところです。しばらくの間、Linq の学習をまったく延期しました。asp.net でも、私が最後に確認したとき、彼らのデータ アクセス チュートリアルでは、テーブル アダプターと bll クラスが使用されていました。次に、linq チュートリアルがあります。これを読んで、Entity Framework が新しい方法であるということは、私が 1 年半にわたって読んできたすべての Linq の「もの」、Linq の素晴らしさなどを意味するのでしょうか。ちょうどなくなった?物事を行うための正しい方法、または少なくとも MS 製品の標準的な方法に落ち着く人は誰もいないようです。そして、1 つの方法がすべてに適しているとは言えないことも理解しています。しかし、この特定のケースでは、なぜデータアクセスを解決できないのか理解できません。
それとも、Linq To SQL は Linq の ORM 部分にすぎませんか? ORM を使用したい場合、正確には何を学べばよいでしょうか? 私は StackOverflow でいくつかのことを読みましたが、何をすべきかを知るのに本当に役立つものはありません。
nHibernate は Microsoft のどの製品よりも優れているようです。はい、他にもあることは知っています(亜音速、およびその他はさまざまなSOの質問で言及されていました。)
ありがとうございました。
nhibernate - SQL クエリの生成に NHibernate を使用する
NHibernate は ORM 機能を提供してくれます。NHibernate の一部は、マッピングと HQL (または ICriteria) に基づいてクエリを生成します。ORM 機能を使用せずに、NHibernate を使用してデータベースに対するクエリを生成できるかどうか疑問に思っています。
データベースへのカスタム アクセスを顧客に提供しようとしています。このようなデータベースのスキーマは設計時には不明であるため、顧客の構成に基づいてクエリを生成する必要があります (WHERE 句によるフィルタリングを含む)。
カスタム SQL 生成に NHibernate (または他の ORM) のクエリ機能を使用した経験のある人はいますか?
database - ms アクセスから ado.net への複数の結果セットを返す
ms access データベースから 1 回の ado.net 呼び出しで 3 つのテーブルをフェッチしたいのですが、そうしようとするとエラーが発生します。
SQLクエリを1つのテーブルだけをフェッチするように変更すると、コードは正常に動作します
msアクセスでこれを達成する方法を誰かに教えてもらえますか? 私は何年も問題なくSQLサーバーでこれを行ってきたからです。おそらくアクセスは複数の結果セットをサポートしていませんか? 私はアクセスであまり働いていません。助けてください。以下は参照用の私のコードです:
更新:これは不可能に見えます。だから私は本当にばかげたコードを書いて欲しいものを手に入れなければなりませんでした.コンピューティングリソースの完全な無駄です.
asp.net - データアクセスASP.NET
私は以前にオンラインニュースポータルを構築しましたが、それは私にとってはうまく機能していますが、ホームページが少し遅いと言う人もいます。考えてみると、その理由がわかります。
サイトのホームページが表示されます
- 見出し
- スポットニュース(サブヘッドライン
- 写真のあるスポット
- ほとんどのニュースを読む(タイトルとして)
- 最もコメントされたニュース(タイトルとして)
- 各ニュースカテゴリから5つのニュースタイトル(スポーツ、経済、地域、健康など、合計11)
現在、これらはそれぞれデータベースへの個別のクエリです。私はtableadaptersデータセットとdatatables(標準のデータアクセスシナリオ)を持っているので、ヘッドラインについては、テーブルアダプターによってデータテーブルを返すニュースクラスのビジネスロジックを呼び出します。それ以降は、データテーブルをコントロールにバインドするだけで使用するか、(ほとんどの場合)オブジェクトがデータテーブルを(ニュースの)リストに変換して、そこから使用します。
上記のそれぞれに対してこれを行うことは、しかしうまくいくようです。少なくとも、大きな負荷はかかりません。しかし、もっと良い方法があるのだろうかと思います。
たとえば、私が上で説明したプロジェクトは非常に動的なWebサイトであり、ニュースは24時間ノンストップで代理店から到着したときに挿入されます。したがって、この場合のキャッシュは適切に聞こえない可能性があります。しかし一方で、地元の新聞のために別の同様のプロジェクトがあることを私は知っています。サイトは1日1回のみ更新されます。この場合:今日挿入されたすべてのニュースアイテムを含むデータテーブルを返すクエリを1つだけ実行し、そのデータテーブルをクエリして、ヘッドライン、スポット、その他のアイテムをサイトのそれぞれの場所に配置できますか?または、周りにもっと良い選択肢がありますか?私は他の人が最も効率的な方法で同様のタスクを実行する方法をたださまよっています。
c# - ASP.NETでDBからデータの行を取得するための最も効率的な方法
データベースから「asset」行を返すメソッドを書いています。文字列、int、バイト配列が含まれています(これは画像/映画/ドキュメントの場合があります)。
現在、ほとんどの行アクセスでは、次のメソッドを使用しています。これは、軽量オブジェクトであり、使いやすく、intと文字列をキャストできるためNameValueCollectionを返します。
この種のデータアクセスに対する私のアプローチは、通常、データ行を返すメソッドを取得することです。
DataTableを作成してから、最初のデータ行を返すのは、ちょっと無駄に思えます。
これを行うためのより良い方法はありますか?
おそらくオブジェクトの辞書を考えており、それを手動で各メンバーにキャストします。
他の人がこれにどのように取り組んでいるかを見るのは興味深いでしょう。私はこれがマイクロ最適化の分野に該当することを知っています。各行クエリのデータセットを返さない限り(コード行でそれを見るたびにポンドがあればいいのですが)、問題ないはずです。
とはいえ、このメソッドは、1つのボックス上のサイトの割り当てに対するデータアクセスクエリの割り当てに対して呼び出される可能性があります。
乾杯
スティーブ
database - 読み取り専用 DB アクセスのトランザクション?
データベースからの読み取りにトランザクションを使用することについては、非常に異なる意見があるようです。
DeveloperWorks の記事「トランザクション戦略: モデルと戦略の概要」からの引用:
データを読み取るだけの場合、なぜトランザクションが必要になるのでしょうか? 答えは、そうではないということです。トランザクションを開始して読み取り専用操作を実行すると、処理スレッドのオーバーヘッドが増加し、データベースで共有読み取りロックが発生する可能性があります (使用しているデータベースの種類と分離レベルの設定によって異なります)。
反対の意見として、Hibernate のドキュメントからの次の引用があります。非トランザクション データ アクセスと自動コミット モード
アプリケーションで自動コミット モードを使用しないこと、およびパフォーマンス上の明らかな利点がある場合、または将来のコード変更の可能性が非常に低い場合にのみ、読み取り専用トランザクションを適用することをお勧めします。データの読み取りまたは書き込みに関係なく、常に通常の ACID トランザクションを優先して、データ アクセス操作をグループ化します。
ここの EclipseLink メーリング リストでも同様の議論が行われています。
では、真実はどこにあるのでしょうか?ベスト プラクティスを読み取るためのトランザクションかどうか。両方とも実行可能なソリューションである場合、トランザクションを使用する基準は何ですか?
私が見る限り、分離レベルが「コミットされた読み取り」よりも高い場合にのみ違いがあります。これは正しいです?
体験談とおすすめは?
iphone - iPhoneアプリのデータアクセス
iPhoneに同梱されているアプリのデータにアクセスすることはできますか?連絡先情報にアクセスできることは知っていますが、ユーザーが作成したNotes Appドキュメントの読み取り/書き込み/削除、またはサファリからのブックマークの読み取り/書き込み/削除に関心があります。アクセスできるデータがあるアプリケーションはどれですか?連絡先リスト以外のデータにアクセスできますか、それとも他のすべてがサンドボックス化されていますか?連絡先、テキスト、写真、地図、株式、メモ、Safariなどのアプリに保存されているデータを操作することに興味があります。