Choe.Orm框架下
2016-07-29 11:41
351 查看
Choe.Orm框架下的mysql技术
高效开发的NET.c#数据库访问框架(ORM)查询接口使用lambda表达式,使用对象的方法可以完成多表查询,分组查询,聚合查询,插入数据和批量操作。
public enum Gender
{
}
[Table(“Users”)]
public class User
{
}
public class City
{
}
public class Province
{
}
建个 MySqlConnectionFactory 类,实现 IDbConnectionFactory 接口:
public class MySqlConnectionFactory : IDbConnectionFactory
{
}
创建一个 DbContext:
MySqlContext context = new MySqlContext(new MySqlConnectionFactory(DbHelper.ConnectionString));
再创建一个 IQuery:
IQuery q = context.Query();
查询数据
基本查询
IQuery q = context.Query();
q.Where(a => a.Id == 1).FirstOrDefault();
/*
SELECT
*/
//可以选取指定的字段
q.Where(a => a.Id == 1).Select(a => new { a.Id, a.Name }).FirstOrDefault();
/*
SELECT
*/
//分页
q.Where(a => a.Id > 0).OrderBy(a => a.Age).Skip(1).Take(999).ToList();
/*
SELECT
*/
连接查询
IQuery users = context.Query();
IQuery cities = context.Query();
IQuery provinces = context.Query();
//建立连接
IJoiningQuery
高效开发的NET.c#数据库访问框架(ORM)查询接口使用lambda表达式,使用对象的方法可以完成多表查询,分组查询,聚合查询,插入数据和批量操作。
public enum Gender
{
Man = 1, Woman
}
[Table(“Users”)]
public class User
{
[Column(IsPrimaryKey = true)] [AutoIncrement] public int Id { get; set; } public string Name { get; set; } public Gender? Gender { get; set; } public int? Age { get; set; } public int? CityId { get; set; } public DateTime? OpTime { get; set; }
}
public class City
{
[Column(IsPrimaryKey = true)] public int Id { get; set; } public string Name { get; set; } public int ProvinceId { get; set; }
}
public class Province
{
[Column(IsPrimaryKey = true)] public int Id { get; set; } public string Name { get; set; }
}
建个 MySqlConnectionFactory 类,实现 IDbConnectionFactory 接口:
public class MySqlConnectionFactory : IDbConnectionFactory
{
string _connString = null; public MySqlConnectionFactory(string connString) { this._connString = connString; } public IDbConnection CreateConnection() { MySqlConnection conn = new MySqlConnection(this._connString); return conn; }
}
创建一个 DbContext:
MySqlContext context = new MySqlContext(new MySqlConnectionFactory(DbHelper.ConnectionString));
再创建一个 IQuery:
IQuery q = context.Query();
查询数据
基本查询
IQuery q = context.Query();
q.Where(a => a.Id == 1).FirstOrDefault();
/*
SELECT
Users.
IdAS
Id,
Users.
NameAS
Name,
Users.
GenderAS
Gender,
Users.
AgeAS
Age,
Users.
CityIdAS
CityId,
Users.
OpTimeAS
OpTimeFROM
UsersAS
UsersWHERE
Users.
Id= 1 LIMIT 0,1
*/
//可以选取指定的字段
q.Where(a => a.Id == 1).Select(a => new { a.Id, a.Name }).FirstOrDefault();
/*
SELECT
Users.
IdAS
Id,
Users.
NameAS
NameFROM
UsersAS
UsersWHERE
Users.
Id= 1 LIMIT 0,1
*/
//分页
q.Where(a => a.Id > 0).OrderBy(a => a.Age).Skip(1).Take(999).ToList();
/*
SELECT
Users.
IdAS
Id,
Users.
NameAS
Name,
Users.
GenderAS
Gender,
Users.
AgeAS
Age,
Users.
CityIdAS
CityId,
Users.
OpTimeAS
OpTimeFROM
UsersAS
UsersWHERE
Users.
Id> 0 ORDER BY
Users.
AgeASC LIMIT 1,999
*/
连接查询
IQuery users = context.Query();
IQuery cities = context.Query();
IQuery provinces = context.Query();
//建立连接
IJoiningQuery
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜