mysql输入dnetstart无法启动_DNetORM 一款轻量级的ORM框架

使用介绍

1.配置文件配置好连接串

connectionName的值对应连接串的name

2.定义好实体

public classBook

{

[Key]

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]public int? BookID { get; set; }public string BookName { get; set; }public int? AuthorID { get; set; }

[NotMapped]public string AuthorName { get; set; }public double? Price { get; set; }public DateTime? PublishDate { get; set; }

}

增删改查 目前支持sqlserver、mysql、oracle

增加

using (DNetContext db = newDNetContext())

{var authorid = db.Add(new Author { AuthorName = "张三", Age = 30, IsValid = true});

db.Add(new Book { BookName = "从入门到放弃", Price = 20.5, PublishDate = DateTime.Now, AuthorID =authorid });

}

修改

using (DNetContext db = newDNetContext())

{int authorid = db.GetMax(m => (int)m.AuthorID);

db.Update(m => m.AuthorName = "恶魔猎手", m => m.AuthorID ==authorid);

}

删除

using (DNetContext db = newDNetContext())

{var author = db.GetSingle(m => true, q => q.OrderBy(m =>m.AuthorID));var effect =db.Delete(author);int authorid = db.GetMax(m => (int)m.AuthorID);

db.Delete(m => m.AuthorID ==authorid);

}

查询

单表查询

支持以下sql格式

like

Contains、StartsWith、EndsWith

in

Contains 集合类

upper lower

ToUpper、ToLower

sql字符大小比较

CompareTo、Equals

charindex instr

IndexOf

is null or = ‘‘

IsNullOrEmpty

类型转化、时间格式化

ToString

整型转化

ToInt32

trim

TrimStart、TrimEnd、Trim

using (DNetContext db = newDNetContext())

{var author = db.GetSingle(m => true, q => q.OrderBy(m =>m.AuthorID));

author= db.GetSingle(m => m.AuthorName.Contains("李四") && m.IsValid == true);var authors= db.GetList(m => m.AuthorName.StartsWith("张三") && m.IsValid == true);//获取动态类型

List name = db.GetDistinctList(m => m.AuthorName.StartsWith("王五") && m.IsValid == true,m=>m.AuthorName);

List name1 = db.GetDistinctList(m => m.AuthorName.StartsWith("王五") && m.IsValid == true, m =>m.AuthorName);//获取最大值

var authorid = db.GetMax(m => (int)m.AuthorID);//动态查询

WhereBuilder where = new WhereBuilder();where.And(m=>m.AuthorName.Contains("张三"));where.And(m => m.AuthorID==3);where.Or(m=>m.IsValid==true);

db.GetList(where.WhereExpression);//分页参数由前台传来

PageFilter page = new PageFilter { PageIndex=1, PageSize=10};

page.And(m=> "守望者的天空".Contains(m.AuthorName));

page.OrderBy(q=>q.OrderBy(m=>m.AuthorName).OrderByDescending(m=>m.AuthorID));

PageDataSource pageSource= db.GetPage(page);

}

多表查询

using (DNetContext db = newDNetContext())

{var books = db.JoinQuery.LeftJoin((m, n) => m.AuthorID == n.AuthorID && n.IsValid == true)

.Fields((m, n) => new{ m, n.AuthorName })

.OrderByAsc(m =>m.BookName)

.Select();var join = db.JoinQuery.LeftJoin((m, n) => m.AuthorID == n.AuthorID && n.IsValid == true)

.Fields((m, n) => new{ m, n.AuthorName })

.OrderByAsc(m =>m.BookName);

PageFilter page= new PageFilter { PageIndex = 1, PageSize = 10 };//分页参数前台传来

join.SelectPage(page);

}

事务的支持

using (DNetContext db = newDNetContext())

{

db.DataBase.BeginTransaction();try{

List authors = new List();for (int i = 0; i <= 100; i++)

{

authors.Add(new Author { AuthorName = "测试" + i.ToString(), Age = 20, IsValid = true});

}

db.Add(authors);

db.DataBase.Commit();

}catch{

db.DataBase.Rollback();

}

}

SQL语句查询的支持

using (DNetContext db = newDNetContext())

{

StringBuilder sql= newStringBuilder();

List parameters = new List();

sql.AppendFormat(@"SELECT {0},A.AuthorName FROM Book B

LEFT JOIN Author A ON A.AuthorID=B.AuthorID WHERE", SqlBuilder.GetSelectAllFields("B"));

sql.Append("B.BookID>@BookID");

parameters.Add(db.GetDbParameter("BookID",1));

PageDataSource books = db.GetPage(sql.ToString(),new PageFilter { PageIndex=1, PageSize=5}, parameters.ToArray());

List bks = db.GetList(sql.ToString(), parameters.ToArray());

}

欢迎技术讨论

最新代码下载

https://files.cnblogs.com/files/DNetORM/DNet.ORM4.0.rar

原文:http://www.cnblogs.com/DNetORM/p/8000373.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值