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文件的名字空间

//省略

    1.  
      using System;
    2.  
      using System.Web;
    3.  
      using System.Web.UI;
    4.  
      using DbLinq;
    5.  
      using DbLinq.MySql;
    6.  
      using MySql.Data;
    7.  
      using MySql.Data.MySqlClient;
    8.  
      using System.Linq;
    9.  
       
    10.  
      //主意看我有哪些引用!
    11.  
       
    12.  
       
    13.  
      namespace DBLinqTest
    14.  
      {
    15.  
       
    16.  
       
    17.  
      public partial class Default : System.Web.UI.Page
    18.  
      {
    19.  
       
    20.  
      public virtual void button1Clicked (object sender, EventArgs args)
    21.  
      {
    22.  
      string connStr = @"server=localhost;database=DB1;user=AAA;pwd=123456;port=3306;";
    23.  
       
    24.  
      MySqlConnection conn = new MySqlConnection (connStr);
    25.  
      Db1 db1 = new Db1 (conn);
    26.  
      var data = from a in db1.Test1
    27.  
      select a;
    28.  
      foreach (var d in data) {
    29.  
      Response.Write (d.ID + " " + d.Name);
    30.  
      }
    31.  
      button1.Text = "You clicked me";
    32.  
      }
    33.  
      }
    34.  
      https://blog.csdn.net/feihu_guest/article/details/7346948

DBLinq (MySQL exactly) Linq To MySql(转)的更多相关文章

  1. DBLinq (MySQL exactly) Linq To MySql

    http://blog.csdn.net/feihu_guest/article/details/7346948 DBLinq (MySQL exactly) Linq To MySql http:/ ...

  2. VS2010+WPF+LINQ for MySQL

    学习wpf,连接数据库和linq for mysql 1.参考以前博文,恢复在 Vs2010+linQ for Mysql的环境. 2.建立 wpf工程,参照1,生成 datacontext.cs , ...

  3. 如何使用 MySQL EntityFramework 组件处理 MYSQL PaaS DB

    MySQL Database on Azure 是 Azure 平台上推出的 MySQL 云数据库服务,通过全面兼容 MySQL 协议,为用户提供了一个全托管的性能稳定.可快速部署.高可用.高安全性的 ...

  4. 【数据库-MySQL on Azure】如何使用 MySQL EntityFramework 组件处理 MYSQL PaaS DB

    MySQL Database on Azure 是 Azure 平台上推出的 MySQL 云数据库服务,通过全面兼容 MySQL 协议,为用户提供了一个全托管的性能稳定.可快速部署.高可用.高安全性的 ...

  5. mysql交互协议解析——mysql包基础数据、mysql包基本格式

    mysql交互协议是开发mysql周边组件常用的协议,如JDBC,libmysql等等. 在此我们要认识到mysql交互协议其实是半双工的交互协议,至于为什么,这里就先挖个小坑,以后再填. 在探讨my ...

  6. [MySQL Reference Manual] 24 MySQL sys框架

    24 MySQL sys框架 24 MySQL sys框架 24.1 sys框架的前提条件 24.2 使用sys框架 24.3 sys框架进度报告 24.4 sys框架的对象 24.4.1所有sys下 ...

  7. MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...

  8. Mac OS 下 mysql 找不到 mysql.sock 的问题

    mysql.sock 无法找到一般存在两种问题,一是mysql服务未启动,mysql.sock没有生成,二是mysql.sock的指向位置出错,在指向位置加个mysql.sock的软链接就可以解决. ...

  9. mysql命令行以及mysql workbence查询结果中文乱码的解决方法

    最近正在学习mysql,安装环境是windows server 2003 32位操作系统+mysql 5.1.47同时也安装了mysql命令行以及mysql workbench这里是test数据库cr ...

随机推荐

  1. jvm是如何管理内存的 .ZT

    http://blog.csdn.net/u014421556/article/details/51744044

  2. Flask之项目创建,路由以及会话控制

    Flask Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架. Flask 本身相当于一个内核,其他几乎 ...

  3. Vue项目在真机测试

    一:修改config 找到config文件夹下的index.js文件并修改为: module.exports = { dev: { host: '0.0.0.0' // 原为: hotst: 'loc ...

  4. restore not found的错误

    tensorflow保存模型后,restore的时候报参数not found是什么原因呢 一般预测的流程是:建图然后restore参数,很有可能你的变量作用域和train的时候不一样,那么在现在的变量 ...

  5. linux安装nginx,遇坑解决

    1.nginx官网下载tar包,解压linux下: 2.进入解压文件夹,执行./configure: 3.报错,原因没有安装nginx相关依赖,如gcc环境,PCRE依赖库 ,zlib 依赖库 ,Op ...

  6. oracle中日期类型 to_date 和to_timestamp什么区别啊?

    1.to_date() 和to_timestamp()区别 由于oracle中date类型只支持到秒,不支持到毫秒,所以to_date()不能取到毫秒.如果要取到毫秒,oracle 9i以上版本,可以 ...

  7. 创建Car类,包含name,price属性,构造器等方法,创建测试类,在main方法中创建Set接口的实现类,添加5个以上的Car对象,遍历集合元素,验证重复元素是否过滤了; 如果没有过滤,实现过滤功能;把每个小车的price降10000元,再遍历,查看price是否已改变

    i汽车类 package com.lanxi.demo2_3; public class Car { private String name; private int price; @Override ...

  8. bootstrap表格鼠标悬停与状态类

    今天在学习的过程中遇到在表格一章中 鼠标悬停 与 状态类 无效的问题,是因为在css文件中默认颜色都为白色造成的,解决方式如下: 在bootstrap文件夹中找到bootstrap.css文件(我的版 ...

  9. JavaScript 之 BOM

    BOM BOM(Bowser Object Model)   浏览器对象模型 提供了独立于页面内容而与浏览器就行交互的对象,核心对象是window. (BOM 无标准支持) Navigator 浏览器 ...

  10. freckles

    题目描述: In an episode of the Dick Van Dyke show, little Richie connects the freckles on his Dad's back ...