Choe.Orm框架下

Choe.Orm框架下的mysql技术
高效开发的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.Id AS Id,Users.Name AS Name,Users.Gender AS Gender,Users.Age AS Age,Users.CityId AS CityId,Users.OpTime AS OpTime FROM Users AS Users WHERE Users.Id = 1 LIMIT 0,1

    */

//可以选取指定的字段

q.Where(a => a.Id == 1).Select(a => new { a.Id, a.Name }).FirstOrDefault();

/*

  • SELECT Users.Id AS Id,Users.Name AS Name FROM Users AS Users WHERE Users.Id = 1 LIMIT 0,1

    */

//分页

q.Where(a => a.Id > 0).OrderBy(a => a.Age).Skip(1).Take(999).ToList();

/*

  • SELECT Users.Id AS Id,Users.Name AS Name,Users.Gender AS Gender,Users.Age AS Age,Users.CityId AS CityId,Users.OpTime AS OpTime FROM Users AS Users WHERE Users.Id > 0 ORDER BY Users.Age ASC LIMIT 1,999

    */

连接查询

IQuery users = context.Query();

IQuery cities = context.Query();

IQuery provinces = context.Query();

//建立连接

IJoiningQuery


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部