C#アプリケーションでデータベースを使い始めたいのですが、残念ながら、これにはさまざまな方法があります。
学習の観点から見た「最善の」方法はどれですか。 (IE:何がビジネス設定で使用される可能性が高いか)?
MySQL/PostgresをダウンロードしてC#から接続したいのですが、問題ありませんか?
うーん....多くの人がデータベースからORMツールに直接移行しています。
まず、Microsoftスタックで技術を選択します。これは、人々が示唆しているようにSql Serverを意味する可能性があるため、完全版の軽量バージョンであるSql Server Expressをダウンロードします。
これまでにデータベースを使用したことがない場合は、最初に基礎となる概念を学ぶことをお勧めします。テーブル、結合、インデックスなど.
それらを理解し、テストデータベースに対するクエリを作成したら、ORMテクノロジを検討します。
(Microsoftスタック上の)ビジネス設定は、おそらくSQL ServerとORMツールです。学習経験から、SQL Expressを使用できます。
データベース管理ツールを使用してデータベースを作成し、DBMS自体を理解します。
.Netフレームワークには、LINQと呼ばれるクエリ言語が付属しています。これを学ぶのは良いことです。 Entityフレームワークを使用して、作成したデータベースからモデルを作成できます(Visual Studioを使用すると簡単に作成できます)。名前が示すように、EFはデータベースモデルからエンティティを作成し、LINQを使用してエンティティに対してクエリを実行できます。これにより、フレームワークがSQLに変換されます。
あなたはこのように抽象化レイヤーを使用していますが、それはアプリケーションの構築方法にすぎないので、害はありません。
正直なところ、誰もがORMを提案していますが、最初にSQLConnection/SQLCommandを使用してDBを直接呼び出す方法を知るにはlotの値があります。抽象化に進む前に、何が抽象化されているかを理解してください。
かなり単純なので、それほど長くはかからないはずです。ORMなどに進むことができます。
私の0.02ドルだけ
C#では、ODBCまたはOLEDBコネクター(基本的にすべてのもの)を見つけることができる任意のデータベースを使用できます。 sqlexpress を見て、次のいずれかを使用することをお勧めします linq 2 sql またはエンティティフレームワーク( Entity Framework のサポートははるかに優れていますが、はるかに複雑です。)
それはすべて、アプリケーションの大きさと使用されるアーキテクチャに依存します。 ORMは、より大きなアプリケーションで検討される場合があります。
編集:
ビジネスの意味では、多くの企業がORMを使用しています。なぜそこにあるのか、それがどのような問題を解決するのかを理解してください。
単純に ADO.NET を使用できます。ただし、ビジネスケースでは、企業は適切なアーキテクチャを使用してデータベースに接続します。 レイヤードアーキテクチャ の概念を学んでください。
[〜#〜] orm [〜#〜] の比較については、このリンクを確認してください。
LINQ実装スコアカード
他の人がEFについて言及しており、他にも多くのORMフレームワークがあります。ここにいくつかの大きなフレームワークがあります。