web-dev-qa-db-ja.com

C#とデータベースの概要

C#アプリケーションでデータベースを使い始めたいのですが、残念ながら、これにはさまざまな方法があります。

学習の観点から見た「最善の」方法はどれですか。 (IE:何がビジネス設定で使用される可能性が高いか)?

MySQL/PostgresをダウンロードしてC#から接続したいのですが、問題ありませんか?

5

うーん....多くの人がデータベースからORMツールに直接移行しています。

まず、Microsoftスタックで技術を選択します。これは、人々が示唆しているようにSql Serverを意味する可能性があるため、完全版の軽量バージョンであるSql Server Expressをダウンロードします。

これまでにデータベースを使用したことがない場合は、最初に基礎となる概念を学ぶことをお勧めします。テーブル、結合、インデックスなど.

それらを理解し、テストデータベースに対するクエリを作成したら、ORMテクノロジを検討します。

6
ozz

(Microsoftスタック上の)ビジネス設定は、おそらくSQL ServerとORMツールです。学習経験から、SQL Expressを使用できます。

データベース管理ツールを使用してデータベースを作成し、DBMS自体を理解します。

.Netフレームワークには、LINQと呼ばれるクエリ言語が付属しています。これを学ぶのは良いことです。 Entityフレームワークを使用して、作成したデータベースからモデルを作成できます(Visual Studioを使用すると簡単に作成できます)。名前が示すように、EFはデータベースモデルからエンティティを作成し、LINQを使用してエンティティに対してクエリを実行できます。これにより、フレームワークがSQLに変換されます。

あなたはこのように抽象化レイヤーを使用していますが、それはアプリケーションの構築方法にすぎないので、害はありません。

4
Syg

正直なところ、誰もがORMを提案していますが、最初にSQLConnection/SQLCommandを使用してDBを直接呼び出す方法を知るにはlotの値があります。抽象化に進む前に、何が抽象化されているかを理解してください。

かなり単純なので、それほど長くはかからないはずです。ORMなどに進むことができます。

私の0.02ドルだけ

3
Steven Evers

C#では、ODBCまたはOLEDBコネクター(基本的にすべてのもの)を見つけることができる任意のデータベースを使用できます。 sqlexpress を見て、次のいずれかを使用することをお勧めします linq 2 sql またはエンティティフレームワーク( Entity Framework のサポートははるかに優れていますが、はるかに複雑です。)

1
Matthew Whited

それはすべて、アプリケーションの大きさと使用されるアーキテクチャに依存します。 ORMは、より大きなアプリケーションで検討される場合があります。

編集:

  • 学習の観点から見た「最良の」方法はどれですか? (IE:何がビジネス設定で使用される可能性が高いか)?

ビジネスの意味では、多くの企業がORMを使用しています。なぜそこにあるのか、それがどのような問題を解決するのかを理解してください。

  • mySQL/PostgresをダウンロードしてC#から接続したい場合は、問題ありませんか?

単純に ADO.NET を使用できます。ただし、ビジネスケースでは、企業は適切なアーキテクチャを使用してデータベースに接続します。 レイヤードアーキテクチャ の概念を学んでください。

[〜#〜] orm [〜#〜] の比較については、このリンクを確認してください。

enter image description here

LINQ実装スコアカード enter image description here

1
Amir Rezaei

他の人がEFについて言及しており、他にも多くのORMフレームワークがあります。ここにいくつかの大きなフレームワークがあります。

1
BlackICE