Linq to MySql/Oracle/Postgres/Sqlite

 与NHibernate相比较,Linq可能并是领域模型的,有数据为中心的思维痕迹,但在语言集成性上面,是其它O/R方案没有可比性的,Linq不仅仅是为对象与关系转换而生,随着Linq技术的日渐成熟,将会在诸多方面有所表现。   开源社区也非常看好Linq的发展前景,在Linq推出后开源界出现了数十种有关Linq的项目,比如DbLinq(Linq to MySql,Oracle,SQLit
摘要由CSDN通过智能技术生成
 

与NHibernate相比较,Linq可能并是领域模型的,有数据为中心的思维痕迹,但在语言集成性上面,是其它O/R方案没有可比性的,Linq不仅仅是为对象与关系转换而生,随着Linq技术的日渐成熟,将会在诸多方面有所表现。

   开源社区也非常看好Linq的发展前景,在Linq推出后开源界出现了数十种有关Linq的项目,比如DbLinq(Linq to MySql,Oracle,SQLite),Linq to NHibernate,甚至还有Linq to google等等,这些项目从不同的应用和不同的角度展示出Linq的魅力。

   因为关注mono原因,时不时会了解一下mono的最新进展,当然也非常想看到Linq在mono中的应用,不过在mono1.2.6并没有集成,在下一个版本中肯定会有所表现。在Miguel de Icaza的博客中提到了一个DbLinq2007项目,可能会用于mono,目前最高版本是v0.16,试了一下,在vs.net2008beta2环境中的确能用,可到http://code.google.com/p/dblinq2007/下载,目前下载量不到千人,可以先下载尝尝鲜。

   DbLinq2007项目包括DbLinq.SqlServer/DbLinq.MySql/DbLinq.Oracle/DbLinq.PostgreSql/

DbLinq.Sqlite几个部分,各部分相对独立的,本人试用了DbLinq.PostgreSql和DbLinq.MySql感觉非常不错,使用非常方便,使用方式也差不多,同Ms的Linq to Sql也几乎没有什么区别。下面以Northwind数据库为例,仅介绍一下DbLinq.MySql的简单应用。

一、在MySql中建立用户与数据库:

1、  建立用户LinqUser:

 CREATE USER 'LinqUser'@'%'; SET PASSWORD FOR 'LinqUser'@'%' = PASSWORD('LinqUser');

 

##

GRANT Select, Insert, Update, Delete, EXECUTE ON `Northwind`.* TO 'LinqUser'@'%';

  FLUSH PRIVILEGES;

2、  以LinqUser登录建立数据库Northwind:

/*

MySQL Data Transfer

Source Host: localhost

Source Database: northwind

Target Host: localhost

Target Database: northwind

Date: 2008-1-24 22:23:29

*/

 

SET FOREIGN_KEY_CHECKS=0;

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

-- Table structure for categories

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

CREATE TABLE `categories` (

  `CategoryID` int(11) NOT NULL auto_increment,

  `CategoryName` varchar(15) NOT NULL,

  `Description` text,

  `Picture` blob,

  PRIMARY KEY  (`CategoryID`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

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

-- Table structure for customers

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

CREATE TABLE `customers` (

  `CustomerID` varchar(5) NOT NULL,

  `CompanyName` varchar(40) NOT NULL default '',

  `ContactName` varchar(30) default NULL,

  `ContactTitle` varchar(30) default NULL,

  `Address` varchar(60) default NULL,

  `City` varchar(15) default NULL,

  `Region` varchar(15) default NULL,

  `PostalCode` varchar(10) default NULL,

  `Country` varchar(15) default NULL,

  `Phone` varchar(24) default NULL,

  `Fax` varchar(24) default NULL,

  PRIMARY KEY  (`CustomerID`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

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

-- Table structure for employees

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

CREATE TABLE `employees` (

  `EmployeeID` int(11) NOT NULL auto_increment,

  `LastName` varchar(20) NOT NULL,

  `FirstName` varchar(10) NOT NULL,

  `Title` varchar(30) default NULL,

  `BirthDate` datetime default NULL,

  `HireDate` datetime default NULL,

  `Address` varchar(60) default NULL,

  `City` varchar(15) default NULL,

  `Region` varchar(15) default NULL,

  `PostalCode` varchar(10) default NULL,

  `Country` varchar(15) defau

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值