alinq mysql_GitHub - ansiboy/ALinq: ALinq 是一个支持 Linq 的 ORM ,不但完整实现了 Linq to SQL 的全部功能和 API,而且比 Linq...

ALinq

ALinq 是什么

ALinq 是一个支持 Linq 的 ORM ,不但完整实现了 Linq to SQL 的全部功能和 API,注意,是完整实现!!!也就是说,Linq to SQL 中的功能和函数,你都可以在 ALinq 中找到,使用得你的 Linq to SQL 知识与技能,可以轻易地转移到 ALinq 中来。而且,还在 Linq to SQL 的基础上进行了一系列的改进。包括支持更多的数据库,批量的增删改。

ALinq 支持的数据库有:

Access,SQLite,MS SQL Server, MySQL,Oracle,Firebird,PostgreSQL,DB2 等主流数据库。

ALinq 为谁设计?

熟悉喜欢 Linq to SQL 的朋友, 希望 Linq to SQL 能应用其实数据库中去。

希望将 Linq to SQL 代码移植到其它数据库中去,例如:Oracle 或者 Access 。

ALinq 品质如何?是否稳定?

ALinq 已经从 2008 年发布至今,已经经过了大量用户的验证,使用稳定可靠。

ALinq 的使用

ALinq 非常易于使用,如果你熟悉 Linq to SQL,几分钟即可上手。使用的差异主要有两点。

DLL 的引用

命名空间

其他的使用和 Linq to SQL 相同。

使用步骤

创建 DataContext

使用 ALinq 连接 Access 数据库

需要引用 ALinq.dll, ALinq.AccessDB.dll

//Use connection string initialize,and specify the sql provider.

var context = new ALinq.DataContext("C:/Northwind.mdb",

typeof(ALinq.Access.AccessDbProvider));

//or use file name initialize the datacontext,

//the datacontext will specify the sql provider by file extension name.

context = new ALinq.DataContext("C:/Northwind.mdb");

//Use connection initialize.

var builder = new OleDbConnectionStringBuilder

{

DataSource = "C:/Northwind.mdb",

Provider = "Microsoft.Jet.OLEDB.4.0"

};

var conn = new OleDbConnection(builder.ConnectionString);

context = new ALinq.DataContext(conn, typeof(ALinq.Access.AccessDbProvider));

使用 ALinq 连接 SQLite 数据库

需要引用 ALinq.dll, ALinq.SQLite.dll

//Use connection string initialize.

var context = new ALinq.DataContext("C:/Northwind.db",

typeof(ALinq.SQLite.SQLiteProvider));

//or use file name initialize the datacontext,

//the datacontext will specify the sql provider by file extension name.

context = new ALinq.DataContext("C:/Northwind.db");

//Use connection initialize.

var builder = new SQLiteConnectionStringBuilder

{

DataSource = "C:/Northwind.db"

};

var connection = new SQLiteConnection(builder.ToString());

context = new ALinq.DataContext(connection,

typeof(ALinq.SQLite.SQLiteProvider));

使用 ALinq 连接 MySQL 数据库

需要引用 ALinq.dll, ALinq.MySQL.dll

var builder = new MySqlConnectionStringBuilder()

{

Server = "localhost",

Port = 3306,

UserID = "root",

Password = "test",

Database = "Northwind"

};

var conn = new MySqlConnection(builder.ToString());

var context = new ALinq.DataContext(conn,

typeof(ALinq.MySQL.MySqlProvider));

创建与数据库的映射

Attribute 映射

[ALinq.Mapping.Table(Name="Customers")]

public class Customer

{

[ALinq.Mapping.Column]

public string CustomerID;

[ALinq.Mapping.Column]

public string CompanyName;

[ALinq.Mapping.Column]

public string ContactName;

[ALinq.Mapping.Column]

public string City;

}

XML 映射

xmlns="http://schemas.microsoft.com/linqtosql/mapping/2007">

查询数据库

var db = new ALinq.DataContext(@"C:/Northwind.mdb");

var companyNameQuery = from cust in db.GetTable()

where cust.City == "London"

select cust.CompanyName;

foreach (var customer in companyNameQuery)

Console.WriteLine(customer);

//use XmlMappingSource

var xmlMapping = ALinq.Mapping.XmlMappingSource.FromUrl("C:/Northwind.map");

db = new ALinq.DataContext(@"C:/Northwind.mdb", xmlMapping);

companyNameQuery = from cust in db.GetTable()

where cust.City == "London"

select cust.CompanyName;

foreach (var customer in companyNameQuery)

Console.WriteLine(customer);

更详细的使用,请参考 Linq to SQL

ALinq Dynamic

ALinq Dynamic 为 ALinq 提供了一个 Entiy SQL 的查询接口,使得它们能够应用 Entity SQL 进行数据的查询。它的原理是将 Entiy SQL 解释为 Linq 表达式,再执行生成的 Linq 表达式。

使用文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值