DBLinq (MySQL exactly) Linq To MySql(转)
Linq to SQL很好用,可惜只支持Microsoft SQL Server 和Microsoft SQL Server Compact Edition,目前比较成熟的免费解决方法是DBLinq(PS:ALinq超贵,实际上很多类似的小东西都超贵),它可以提供provider实现Linq to MySQL, Linq to SQLite, Linq to Oracle, Linq to PostgreSql... 甚至Linq to SQL Server on Linux.
一、工具:
Dblinq ;
MySQL 5.0以上,编程主机需要安装;
VS2008
二、生成DataContext cs文件
DbMetal.exe -provider=MySql -database:your_db -server:your_server -user:root -password:your_pass -namespace:namespace -code:filename.cs -sprocs
//注,名称空间是mysqllinq,-sprocs一定要
出现了以下错误:
DbMetal: Could not load databaseConnectionType type 'MySql.Data.MySqlClient.MySqlConnection, MySql.Data'. Try using the --with-dbconnection=TYPE option.
解决方法是添加MySql.Data.dll文件到DBMetal.exe所在目录下
三、将文件DataContext cs放到项目文件中
注意:cs文件放在项目的首层,比如App_Code中,或者内库中
using DbLinq.Linq;
using DbLinq.Linq.Mapping;
(如果不是放在App_Code中,在此添加引用)
四、在VS 2008中新建类项目DALMySQL,并添加引用
DbLinq.dll;
DbLinq.MySql.dll;
MySql.Data.dll;
//上面三个在DbLinq-0.18\build中可以找到。
System.Data.Linq.dll;
//在C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Data.Linq.dll
//这是一要引用!!!
五、添加Web_App项目,添加对项目DALMySQL的引用
六、在aspx.cs页面中添加引用:
using MySql.Data;
using MySql.Data.MySqlClient;
using mysqllinq;//DataContext cs文件的名字空间
//省略
-
using System;
-
using System.Web;
-
using System.Web.UI;
-
using DbLinq;
-
using DbLinq.MySql;
-
using MySql.Data;
-
using MySql.Data.MySqlClient;
-
using System.Linq;
-
-
//主意看我有哪些引用!
-
-
-
namespace DBLinqTest
-
{
-
-
-
public partial class Default : System.Web.UI.Page
-
{
-
-
public virtual void button1Clicked (object sender, EventArgs args)
-
{
-
string connStr = @"server=localhost;database=DB1;user=AAA;pwd=123456;port=3306;";
-
-
MySqlConnection conn = new MySqlConnection (connStr);
-
Db1 db1 = new Db1 (conn);
-
var data = from a in db1.Test1
-
select a;
-
foreach (var d in data) {
-
Response.Write (d.ID + " " + d.Name);
-
}
-
button1.Text = "You clicked me";
-
}
-
}
-
https://blog.csdn.net/feihu_guest/article/details/7346948