1. 準備作業として、いくつかのものをインストールし、いくつかのものをコピーする必要があります。
0. VS2008 または VS2010 を開き、新しいエンジニアリング コンソール プロジェクト LinqMySQL を作成します。ターゲット アセンブリは .NET 3.5 です。
1. MySQL をダウンロードして「NEXT」までインストールします。
2. MySQLWorkBench をダウンロードして NEXT までインストールし、開き、テスト データベース、Customers テーブルと Orders テーブルを作成します。
-------------------------------------------------- ---
テーブルの作成
(
CustomerID varchar(50) が null 主キーではありません。
ContractName varchar(50) が null ではありません。
電話の varchar(50) が null ではありません。
都市 varchar(50) が null ではありません。
国 varchar(50) が null ではありません
)
テーブルの作成
(
OrderID int が null でない主キー、
注文日日時、
CustomerId varchar(50) が null ではありません。
外部キー(CustomerID) 参照 Customers(CustomerID)
)
-------------------------------------------------- ---
3. MySQL .NET Connector 6.3.2 をダウンロードしてインストールします。
4. DbLinq をダウンロードして解凍し、システム環境変数へのパスを設定します。
5. LinqMySql ディレクトリに新しい LinqDlls フォルダーを作成します
C:Program FilesReference AssembliesMicrosoftFrameworkv3.5 フォルダーを開きます。
次の DLL を LinqDlls フォルダーにコピーします。
-------------------------------------------------- ---
System.Core.dll
System.Data.DataSetExtensions.dll
System.Data.Linq.dll
System.Runtime.Serialization.dll
System.xml.Linq.dll
-------------------------------------------------- ---
6. MySQLMySQL Connector Net 6.3.2Assembliesv2.0 ディレクトリに移動し、コピーします。
-------------------------------------------------- ---
MySQL.Data.dll
-------------------------------------------------- ---
DbLinq インストール ディレクトリに移動します。
2. 作業を始めましょう。段階的にやってみましょう。
1. CMD を開き、DbLinq ディレクトリに移動し、DbMetal.exe を使用して MySQL DataContext を作成します。 コマンドは次のとおりです。
-------------------------------------------------- ---
Dbメタル.exe
-provider=MySql
-データベース:MyDatebase
-サーバー:ローカルホスト
-ユーザー:mysqluser
-passWord:あなたのパスワード
-名前空間:LinqMySql
-コード:TestDataContext.cs
-sprocs
-------------------------------------------------- ---
生成された TestDataContext.cs を LinqMySql プロジェクトのルート ディレクトリに切り取り、LinqMySql プロジェクトに追加します。
2. Main 関数に次のコードを追加します。
-------------------------------------------------- ---
string connStr = @"server=localhost;database=test;user=mysqluser;pwd=yourpassword;";
using (var conn = new MySqlConnection(connStr)){ var t = new Test(conn); var data = from customer in t.Customers select customer.ContractName foreach (var d in data) { Console.WriteLine(d); }}------------------------------------------------ -----3. コンパイルして実行します。成功しました。
4. 次に、.NET 3.5 を .NET2.0 にデグレードする必要があります。まず、プロジェクトのターゲット アセンブリを .NET2.0 に変更します。
次に、リファレンス内のいくつかの DLL が感嘆符になっていることがわかります。それらをすべて削除し、LinqDlls フォルダー内の DLL を変更します。
いくつかの DLL を参照に追加し、これらの DLL のプロパティでローカルのコピーを True に設定し、バージョンの指定を False に設定します。
5. 再度コンパイルすると成功します。
3. 他の話はどうですか? .NET2.0でLinqDataSetを使用しようとしていますが、データベースはMySQLを使用しています
1. VS を再起動して、追加したばかりの MySQL コネクタが VS によってロードされるようにします。
2. サーバー エクスプローラーを開き、[データ接続] を右クリックして、新しいリンクを追加し、データ コネクタを変更します。
MySql コネクタを選択し、必要なサーバー アドレス、ユーザー名、パスワードを次へまで入力し、接続が成功するかどうかをテストします。
3. LinqMySql ターゲット アセンブリを .NET3.5 に変更し、プロジェクトを右クリックして、厳密に型指定された DataSet を追加します。
サーバー エクスプローラーの Mysql テスト データベースにある Customers テーブルと Orders テーブルを DataSet に追加します。
4. Main関数にテストコードを書く
-------------------------------------------------- ---
using (var dataSet = new DataSet1()){ var customerAdapter = new DataSet1TableAdapters.CustomersTableAdapter(); var orderAdapter = new DataSet1TableAdapters.OrdersTableAdapter(); orderAdapter.Fill(dataSet.Orders); query = from order in dataSet.Orders where order.OrderDate.Date > new DateTime(2010, 8, 1) select new { order.OrderID, order.CustomerID }; foreach (var order in query) { Console.WriteLine(order.顧客ID); }}------------------------------------------ --- --------5. コンパイルして実行します。成功しました。
6. ちょっと待って、今は .NET3.5 だけですが、.NET2.0 に変更するにはどうすればよいですか?
ターゲット アセンブリを .NET2.0 に直接変更してコンパイルしようとすると、失敗します。
7.TMD は DataSet1.designer.cs をチェックし、.NET3.5 で次のコードを見つけました。
-------------------------------------------------- ---パブリック部分クラス customerDataTable : global::System.Data.TypedTableBase<customersRow>----------------------------- ------------------------ こうなりました
-------------------------------------------------- ---
パブリック部分クラス customerDataTable : global::System.Data.DataTable、global::System.Collections.IEnumerable---------------------------- -- ------------------------8.それで?何をするか?ターゲット アセンブリを .NET3.5 にリセットし、LinqMySql ディレクトリに移動して、
-------------------------------------------------- ---
DataSet1.Designer.cs
DataSet1.xsc
データセット1.xsd
データセット1.xss
-------------------------------------------------- ----
いくつかのファイルをコピーしてバックアップを作成し、ターゲット アセンブリを再度 .NET2.0 に設定します。 。
次に、バックアップした上記のファイルをプロジェクト ディレクトリにコピーして戻し、コンパイルして再度実行すると成功です。
9. この時点で、LinqSQL と LinqDataSet を使用して .NET2.0 で MySql を使用することに成功しましたが、
.NET2.0 で LinqEntity を使用して MySql を使用することに成功しませんでした。それについては後で話しましょう。