[LINQ2Dapper]最完整Dapper To Linq框架---基础查询
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了[LINQ2Dapper]最完整Dapper To Linq框架---基础查询,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2911字,纯文字阅读大概需要5分钟。
内容图文
(一)Model实体类
实体类层需要安装Kogel.Dapper.Extension表名字段特性。[更多特性详情请点击]
using Kogel.Dapper.Extension.Attributes;
public class users
{
/// <summary>
/// 用户id(特性Identity标识该字段为主键)
/// </summary>
[Identity]
public int id { get; set; }
/// <summary>
/// code
/// </summary>
public string code { get; set; }
/// <summary>
/// 用户名称
/// </summary>
public string name { get; set; }
/// <summary>
/// 创建方式(1自定义角色 2通用角色)
/// </summary>
public int createWay { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime createDate { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string createUsers { get; set; }
/// <summary>
/// 角色id
/// </summary>
public int roleId { get; set; }
}
(二)使用实例
首先添加命名空间
using Kogel.Dapper.Extension.MsSql;
可以通过数据库连接对象点出扩展方法,例如
var conn = new SqlConnection("数据库连接字符串");
使用完记得释放连接对象,可以通过using或者 conn.Dispose();
查询
var users = conn.QuerySet<users>().Where(x => x.code != "1").Get();
模糊查询
var users1 = conn.QuerySet<users>().Where(x => x.name.Contains("Y")).Get();
修改
var users=new users();
users.name = Guid.NewGuid().ToString();
users.createDate = DateTime.Now;
int result = conn.CommandSet<users>().Where(x => x.id == 4).Update(users);
修改查询
var users = conn.QuerySet<users>()
.Where(x => x.name.Contains("Y"))
.UpdateSelect(x => new users { name = "Y11" })
.FirstOrDefault();
新增
int result = conn.CommandSet<users>()
.Insert(new users() {
code = Guid.NewGuid().ToString(),
name = "test", createWay = 1,
createDate = DateTime.Now,
roleId = 2 });
删除
int result = conn.CommandSet<users>()
.Where(x => x.roleId == 2 && x.name == users2.name)
.Delete();
如果想使用事务可以通过
conn.CommandSet<users>(事务对象)
使用事务必须先手动打开数据库:conn.Open();
连表查询
Join<主表,副表>(主表关联字段,副表关联字段)
var list = conn.QuerySet<users>()
.Where(x => x.code != "1")
.Join<users, project_Role>(x => x.roleId, y => y.id)
.ToList();
连表查询可以渲染成指定实体类,例如动态类型(dynamic)
var list = conn.QuerySet<users>()
.Where(x => x.code != "1")
.Join<users, project_Role>(x => x.roleId, y => y.id)
.ToList<dynamic>();
翻页查询
//翻页查询第一页,10条数据
var list = conn.QuerySet<users>()
.OrderBy(x => x.createDate)
.PageList(1, 10);
//翻页连表查询返回dynamic
var list1 = conn.QuerySet<users>()
.Join<users, project_Role>(x => x.roleId, y => y.id)
.OrderBy(x => x.createDate)
.PageList<dynamic>(1, 10);
多表任意联查
var users = conn.QuerySet<users>()
.Join<users, project_Role>((a, b) => a.roleId == b.id)
.Where<users, project_Role>((a, b) => a.id == 3 && b.id == 3)
.Get<dynamic>();
Kogel.Dapper还支持linq和sql同时使用
已完成更加复杂查询条件或者连表关系,[详情请点击此处]。
完整Demo可以去Github上下载:
https://github.com/a935368322/Kogel.Dapper.Test
---------------------
原文:https://www.cnblogs.com/liyanyan665/p/11220062.html
内容总结
以上是互联网集市为您收集整理的[LINQ2Dapper]最完整Dapper To Linq框架---基础查询全部内容,希望文章能够帮你解决[LINQ2Dapper]最完整Dapper To Linq框架---基础查询所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。