国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

.NET2.0下使用LinqMySQL

2019-11-17 03:40:00
字體:
來源:轉載
供稿:網友

一、準備工作,我們需要安裝一些東西,并拷貝一些東西。

0.打開VS2008或VS2010,新建工程控制臺項目LinqMySQL,目標程序集為.NET 3.5

1.下載并一路NEXT安裝MySQL

2.下載并一路NEXT安裝MySQLWorkBench 打開,并創建test數據庫,Customers和Orders兩張表

-----------------------------------------------------

create table Customers
(
    CustomerID varchar(50) not null PRimary key,
    ContractName varchar(50) not null,
    Phone varchar(50) not null,
    City varchar(50) not null,
    Country varchar(50) not null
)
create table Orders
(
    OrderID int not null primary key,
    OrderDate DateTime,
    CustomerId varchar(50) not null,

    foreign key(CustomerID) references Customers(CustomerID)
)

-----------------------------------------------------

3.下載并一路NEXT安裝MySQL .NET Connector 6.3.2

4.下載并解壓DbLinq,并設置路徑到系統環境變量

5.在LinqMySql目錄下新建LinqDlls文件夾

   打開文件夾 C:/Program Files/Reference Assemblies/Microsoft/Framework/v3.5

   拷貝以下幾個Dll到LinqDlls文件夾

   -----------------------------------------------------

   System.Core.dll
   System.Data.DataSetExtensions.dll
   System.Data.Linq.dll
   System.Runtime.Serialization.dll
   System.xml.Linq.dll

   -----------------------------------------------------

6.進入MySQL/MySQL Connector Net 6.3.2/Assemblies/v2.0目錄下拷貝

   -----------------------------------------------------

   MySql.Data.dll

   -----------------------------------------------------

   到DbLinq的安裝目錄

 

二、開始工作了,我們一步步來。

1.打開CMD,CD到DbLinq目錄使用DbMetal.exe創建MySQL的DataContext,命令如下:

  -----------------------------------------------------

   DbMetal.exe

   -provider=MySql

   -database:MyDatebase

   -server:localhost

   -user:mysqluser    

   -passWord:yourpassword

   -namespace:LinqMySql

   -code: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,

    然后會發現Reference里面有幾個dll變為感嘆號,將他們都刪除,然后將LinqDlls文件夾下的

    幾個Dll都添加至Referece,然后分別將這幾個Dll屬性里面的copy local設置為True,將Specify Version設置為False

5.再次編譯,則成功!

 

三、其他故事呢?嘗試在.NET2.0下使用LinqDataSet,并且數據庫使用MySQL

1.重啟VS,使得剛剛添加到MySQL連接器被VS加載。

2.打開Server Explorer,右鍵Data Connection,添加新鏈接,改變數據連接器

   選擇MySql Connector,一路NEXT輸入必要的服務器地址,用戶名,密碼,并測試連接是否成功。

3.將LinqMySql目標程序集更改為.NET3.5,右鍵工程添加強類型DataSet。

   將Server Explorer里的Mysql test數據庫下的Customers和Orders表添加到DataSet里。

4.在Main函數里編寫測試代碼

-----------------------------------------------------
using (var dataSet = new DataSet1()){    var customerAdapter = new DataSet1TableAdapters.CustomersTableAdapter();    var orderAdapter = new DataSet1TableAdapters.OrdersTableAdapter();    customerAdapter.Fill(dataSet.Customers);    orderAdapter.Fill(dataSet.Orders);    var 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.CustomerID);    }}-----------------------------------------------------5.編譯并運行,成功!

6.等等,現在還只是.NET3.5的,如何來改變到.NET2.0?

  嘗試直接將目標程序集改變為.NET2.0,編譯,失敗!

7.TMD查看了下DataSet1.designer.cs,發現在.NET3.5下的如下代碼

-----------------------------------------------------public partial class customersDataTable : global::System.Data.TypedTableBase<customersRow>-----------------------------------------------------  現在變成了

-----------------------------------------------------
public partial class customersDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable-----------------------------------------------------8.所以呢?怎么辦?重新將目標程序集設置為.NET3.5,然后到LinqMySql目錄下將

  -----------------------------------------------------

  DataSet1.Designer.cs
  DataSet1.xsc
  DataSet1.xsd
  DataSet1.xss

  ------------------------------------------------------

  幾個文件拷貝出來做一個備份,然后將目標程序集再次設置為.NET2.0,然后。。

  然后將剛才備份的以上幾個文件重新拷貝回工程目錄,再次編譯運行,成功!

9.至此,我們成功在.NET2.0下使用LinqSQL和LinqDataSet來使用MySql了,但是

   我并沒有成功在.NET2.0下成功使用LinqEntity來使用MySql。以后再說吧。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 无棣县| 右玉县| 温州市| 孟村| 大安市| 新安县| 修文县| 奇台县| 榆林市| 静宁县| 武功县| 舒城县| 桑日县| 邢台市| 苏尼特左旗| 弥勒县| 英吉沙县| 大洼县| 准格尔旗| 东源县| 溧阳市| 平和县| 涿州市| 康定县| 项城市| 吉安市| 山阳县| 涡阳县| 阳江市| 田东县| 顺义区| 崇仁县| 芜湖市| 南安市| 漳浦县| 镇沅| 泰安市| 德令哈市| 湘乡市| 苍溪县| 思茅市|