dapper mysql 拓展_GitHub - itlizhi/orm-dapper-extensions: 基于Dapper的一些扩展方法,支持sqlserver和mysql...

orm-dapper-extensions

基于Dapper的一些扩展方法,支持sqlserver和mysql

扩展 增删改查,简单linq where查询,in查询,分页

//工厂方法

[TestMethod]

public void Factory()

{

using (var dbContext = DBContextFactory.CreateContext("mysql"))

{

var list = dbcontext.GetAll();

Assert.IsNotNull(list);

}

}

//依赖注入 autofac

var builder = new ContainerBuilder();

builder.RegisterType().As().InstancePerLifetimeScope(); //MySql数据库工作单元

//基本方法

using (IDBContext context = new MySqlDBContext("ormtest"))

{

try

{

context.BeginTransaction();

//insert

var stu = new student() { Name = "张三" + DateTime.Now.FormatDateTime(), Status = StudentStatus.yes };

var rowID = context.Insert(stu);

//error

//stu = new student() { Name = null, Status = StudentStatus.yes };

//rowID = context.Insert(stu);

//update

var model = context.Select(p => p.ID == 1).FirstOrDefault();

model.Status = StudentStatus.no;

context.Update(model);

// where

model = context.Select(p => p.ID == 1).FirstOrDefault();

//delete

var id = rowID.ToInt();

context.Delete(p => p.ID == id);

model = context.Select(p => p.ID == id).FirstOrDefault();

// in

var arr = new int[] { 1, 2, 3 };

var list = context.In(arr);

list = context.Select(p => p.ID > 2 && p.Status == StudentStatus.yes);

//get

var getInfo = context.Get(10);

var getList = context.GetAll();

//join

var result = new v_student();

var dy = context.Get(1, (t1, t2) =>

{

result.ID = t1.ID;

result.Name = t1.Name;

result.gradeList.Add(t2);

return t1;

});

//execute

var grade = context.Execute("update grade set grade =150 where ID=@id", new { id = 1 });

//dapper

var first = context.DbConnection.QueryFirst("select * from grade where id=@id", new { id = 1 });

Assert.AreEqual(first.Grade, "150");

//explicitkey

var exp = new explicitkey() { Guid = System.Guid.NewGuid().ToString(), Title = "Guid" };

context.Insert(exp);

var nexp = context.Select(p => p.Guid == exp.Guid).FirstOrDefault();

nexp.Title = "newGuid";

context.Update(nexp);

//分页

var stulist = context.Page("select * from student", null, 2);

var mitpk = new mitpk() { pk1 = 1, pk2 = System.Guid.NewGuid().ToString(), addtime = DateTime.Now };

context.Insert(mitpk);

context.CommitChanges();

}

catch (Exception)

{

context.Rollback();

throw;

}

Assert.AreEqual(1, 1);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值