web-dev-qa-db-ja.com

C#dbmlファイルはどこから来たのですか?

現在、C#とLINQを学んでいます。私はそれらについて多くの質問があります。基本的に、ステップバイステップのチュートリアルが必要です。

  1. dbmlファイルはデータベースの構成ファイルだと思います。 dbmlファイルをダブルクリックすると、VSはデザイン図で開きます。ここでテーブルを作成/削除/変更できますか?使うことができます add new itemを追加してLINQ to SQL Classesdbmlファイルを取得するには?

  2. 次は何ですか?データベースにテーブルを生成しますか? SQLスクリプトを生成しますか? csファイルを生成しますか?いつ?どうやって?

28
5YrsLaterDBA

DBMLファイルは、データベースサーバーとはまったく関係ありません。それは完全にクライアント側のものです。基本的に、データベース内のテーブルに関する情報と、それらを.NETオブジェクトにマップする方法に関する情報のセットです。

もちろん、データベースからテーブルをドラッグしてVisual Studioに情報を自動的に推測させることもできますが、ファイルを変更してもデータベースには影響しません。データベースなしでもDBMLファイルを最初から作成できます。

内部的には、DBMLファイルは単純にXMLファイルであり、Visual Studioによってカスタムツールに渡され、.csデータベースのLINQオブジェクトモデルを表すファイル。

29
Mehrdad Afshari

DBMLファイルは、データベーススキーマに基づいてクラスを定義するマッピングです。はい、それは(デフォルトの)接続文字列を定義しますが、データベースを「設定」しません。

Linq to Sqlは、データベースを持っており、DBスキーマの後にクラスをモデル化するデータベースファーストのアプローチを使用します。テーブルをそこにドラッグアンドドロップすると、クラスの作成が自動化されるため、クラスを入力する必要はありません。そこからプロパティ名などを変更することができ、プロパティとその正しいデータベース列名の間のマッピングはそのまま残ります。

4
hackerhasid

はい。LinqをSQLクラスに追加すると、DBMLファイルが作成されます。デザイナー(DBMLファイルをダブルクリックすると表示されるもの)で、テーブルを(サーバーエクスプローラーから)ドラッグできます。その後、コードでこれらのテーブルを参照できます。いくつかの入門チュートリアルがあります:

これを確認してくださいSO詳細については質問:

https://stackoverflow.com/questions/481244/can-anyone-recommend-a-good-tutorial-for-learning-linq2sql

2
HitLikeAHammer
2
Paul Kohler