支持.net framework4.6.1及以上git
支持.net core2.0及以上github
應用層須要引用包Kogel.Dapper.Extension.MsSql(若是數據庫是Oracle則引用Kogel.Dapper.Extension.Oracle),Nuget上能夠下載安裝。sql
實體類層須要安裝Kogel.Dapper.Extension表名字段特性。數據庫
using Kogel.Dapper.Extension.Attributes;app
public class users
{
/// <summary>
/// 用戶id(特性Identity標識該字段爲主鍵,[更多特性詳情請點擊])
/// </summary>
[Identity]
public int id { get; set; }框架
/// <summary>
/// code
/// </summary>
public string code { get; set; }ui
/// <summary>
/// 用戶名稱
/// </summary>
public string name { get; set; }.net
/// <summary>
/// 建立方式(1自定義角色 2通用角色)
/// </summary>
public int createWay { get; set; }code
/// <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>();
翻頁查詢
var list = conn.QuerySet<users>().OrderBy(x => x.createDate).PageList(1, 10);
//翻頁連表查詢返回dynamic
var list4 = conn.QuerySet<users>().Join<users, project_Role>(x => x.roleId, y => y.id).OrderBy(x => x.createDate).PageList<dynamic>(1, 10);
Kogel.Dapper還支持linq和sql同時使用
已完成更加複雜查詢條件或者連表關係,[詳情請點擊此處]。
完整Demo能夠去Github上下載:
https://github.com/a935368322/Kogel.Dapper.Test
若有問題也能夠加QQ羣討論:
技術羣 710217654
框架開源,能夠加羣下載源碼