転載 https://www.cnblogs.com/zouzf/archive/2012/02/28/2371740.html
クラスへのアクセスの詳細LinqtoSql、データベースの操作をパッケージ化、データベースの接続操作が非常に簡単になります。ここでは簡単な例です。
最初のステップ:LinqtoSqlクラスを追加します。
1.内部を入れNrothWindデータベースソリューションをダウンロードし、コンソールアプリケーションプロジェクトを作成します。その後、右クリックコンソールプロジェクトは、クラスを選択し、[追加]を選択します
1は、Northwindデータベースに接続されるため、LINQ to SQLクラスを選択し、名前は、NorthWindDBに変更されました。
2.この時点で、次の解決策の内容
3、NorthWindDB.dbmlは、ファイルをダブルクリックし、マウスの左編集ボックス、プレスF4をクリックし、NorthWindDB.dbmlファイルの属性情報をポップアップ表示されます右は、関連します
NorthWindDBDataContextが自動的に継承のDataContextクラスにクラスを生成するコンパイラであることは、クラスは、データベースの動作の詳細をカプセル化しています。、デフォルトは空である、我々はNorthWindDBContそれに追加します(名前空間があり、NorthWindDBDataContextクラス)コンテキスト・ネームスペース。エンティティの名前空間(コンパイラがテーブルに対応するこれらのクラスは、この名前空間に所属してアウトマッピングする、私たちはテーブルが対応するクラスにマッピングされている使用して当社のデータベース(クラス属性テーブルに列に相当)にリンクします)デフォルトでは、フィルNorthWindDBEnts空です。
ステップ2:データベースへの接続の可視化
1.ビューのツールバーを選択し、データ接続でサーバーエクスプローラー、右クリックを選択し、[追加]リンクを選択します
2. [追加接続]ダイアログボックスがポップアップし、[変更]をクリックします
3.データソースの変更ポップアップダイアログボックスは、Microsoft SQL Serverデータベースファイルを選択します
4、ポイントのブラウザ
5.データベースファイルを選択してちょうどNorthWind.MDFをダウンロード
6、点左下角的测试,如不成功,重新操作 第二步。如果成功,打开服务器资源管理器,可以看到NorthWind数据库已经加载成功。双击NorthWindDB.dbml文件,把里面的表 Customers 、 Orders拖过去
这个时候,编译器就会自动在 NorthWindDBEnts命名空间里创建两个类来对应着这两个表。
打开NorthWindDB.designer.cs文件,NorthWindDBEnts命名空间下的代码如下:
第三步:主代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApp { class Program { static void Main(string[] args) { //创建NorthWindDBCont.NorthWindDBDataContext的实例 NorthWindDBCont.NorthWindDBDataContext ctx = new NorthWindDBCont.NorthWindDBDataContext(); //查询住在London的顾客 var q = from x in ctx.Customers where x.City == "London" select new { x.ContactName, x.City}; if (q.Count() != 0) { foreach (var item in q) { Console.WriteLine(item); } } else { Console.WriteLine("nobody in London"); } Console.WriteLine(); //创建NorthWindDBEnts.Customers 的实例 NorthWindDBEnts.Customers myCustomer = new NorthWindDBEnts.Customers(); //对表Customers进行查询,把查询得到的住在London的顾客 //并把查得的第一个顾客返回赋给NorthWindDBEnts.Customers类 的实例 myCustomer = ctx.Customers.First(a => a.City == "London"); Console.WriteLine(myCustomer.ContactName); Console.ReadKey(); } } }
输出如下: