mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-06-28 04:35:29 +08:00
154 lines
5.4 KiB
C#
154 lines
5.4 KiB
C#
using SqlSugar;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace MongoDbTest
|
|
{
|
|
public class OrmTest
|
|
{
|
|
public static void Init()
|
|
{
|
|
var db = DbHelper.GetNewDb();
|
|
db.Insertable(new OrderInfo() { CreateTime = DateTime.Now, Name = "a", Price = 1 })
|
|
.ExecuteCommand();
|
|
var ids = db.Insertable(new List<OrderInfo>(){
|
|
new OrderInfo() { CreateTime = DateTime.Now, Name = "a1", Price = 2 },
|
|
new OrderInfo() { CreateTime = DateTime.Now, Name = "a2", Price = 3 }})
|
|
.ExecuteReturnPkList<string>();
|
|
|
|
|
|
var updateRow1 = db.Updateable(new OrderInfo
|
|
{
|
|
Id = ids.First(),
|
|
Name = "a3",
|
|
Price = 11
|
|
}
|
|
)
|
|
.ExecuteCommand();
|
|
|
|
var updateRow2 = db.Updateable(new List<OrderInfo>()
|
|
{
|
|
new OrderInfo() { Id = ids.First(),Name="a31",Price=11},
|
|
new OrderInfo() { Id = ids.Last(),Name="a41"}
|
|
})
|
|
.ExecuteCommand();
|
|
|
|
|
|
var updateRow3= db.Updateable<OrderInfo>()
|
|
.SetColumns(it=>it.Name=="xx")
|
|
.Where(it=> it.Id == ids.Last())
|
|
.ExecuteCommand();
|
|
|
|
var updateRow4 = db.Updateable<OrderInfo>()
|
|
.SetColumns(it => it.CreateTime == DateTime.Now)
|
|
.SetColumns(it => it.Name == "xx")
|
|
.Where(it => it.Id == ids.Last())
|
|
.ExecuteCommand();
|
|
|
|
var updateRow5 = db.Updateable<OrderInfo>()
|
|
.SetColumns(it =>new OrderInfo{ Name="aa", CreateTime = DateTime.Now})
|
|
.Where(it => it.Id == ids.Last())
|
|
.ExecuteCommand();
|
|
|
|
|
|
var updateRow6 = db.Updateable<OrderInfo>()
|
|
.SetColumns(it => new OrderInfo { Name = it.Name, CreateTime = DateTime.Now })
|
|
.Where(it => it.Id == ids.Last())
|
|
.ExecuteCommand();
|
|
|
|
|
|
var updateRow7 = db.Updateable<OrderInfo>()
|
|
.SetColumns(it => new OrderInfo { Name = it.Name+"a", CreateTime = DateTime.Now })
|
|
.Where(it => it.Id == ids.Last())
|
|
.ExecuteCommand();
|
|
|
|
|
|
var delrow = db.Deleteable(new OrderInfo() { Id = ids.Last() })
|
|
.ExecuteCommand();
|
|
|
|
var delrow2 = db.Deleteable<OrderInfo>()
|
|
.In(new string[] { ids.Last(),ids.First() })
|
|
.ExecuteCommand();
|
|
|
|
var delrow3 = db.Deleteable<OrderInfo>()
|
|
.Where(it=>it.Id==ids.Last() )
|
|
.ExecuteCommand();
|
|
|
|
var list = db.Queryable<OrderInfo>().ToDataTable();
|
|
|
|
var list2 = db.Queryable<OrderInfo>().Where(it=>it.Name=="a3"&&it.Price==11).ToList();
|
|
|
|
var list3= db.Queryable<OrderInfo>().Skip(1).Take(1).ToList();
|
|
|
|
var list4 = db.Queryable<OrderInfo>().OrderByDescending(it=>it.Price).ToList();
|
|
|
|
var list5 = db.Queryable<OrderInfo>().OrderByDescending(it => it.Price).ToList();
|
|
|
|
var list6 = db.Queryable<OrderInfo>().OrderBy(it => new { it.Id,Name=it.Name }).ToList();
|
|
|
|
var list7 = db.Queryable<OrderInfo>().OrderByDescending(it => new { it.Id, Name = it.Name }).ToList();
|
|
|
|
var list8= db.Queryable<OrderInfo>().OrderBy(it => new { it.Id, Name = it.Name },OrderByType.Desc).ToList();
|
|
|
|
var list9 = db.Queryable<OrderInfo>().OrderBy(it=>it.Name).OrderByDescending(it => it.Price).ToList();
|
|
|
|
var list10 = db.Queryable<OrderInfo>()
|
|
.Select(it=>new OrderInfo() {
|
|
Id=it.Id,
|
|
Name=it.Name
|
|
}).ToDataTable();
|
|
|
|
var list11 = db.Queryable<OrderInfo>()
|
|
.Select(it => new
|
|
{
|
|
Id = it.Id,
|
|
Name = it.Name
|
|
}).ToList();
|
|
|
|
var list12 = db.Queryable<OrderInfo>()
|
|
.Select(it => new
|
|
{
|
|
Id = it.Id,
|
|
Name = it.Name+"b",
|
|
Name2 = "b"+it.Name
|
|
}).ToDataTable();
|
|
|
|
var list13 = db.Queryable<OrderInfo>()
|
|
.GroupBy(it => it.Name)
|
|
.Select(it => new
|
|
{
|
|
key = it.Name,
|
|
groupCount = SqlFunc.AggregateCount(it.Id),
|
|
max=SqlFunc.AggregateMax(it.Id),
|
|
min=SqlFunc.AggregateMin(it.Id)
|
|
}).ToList();
|
|
|
|
var list14 = db.Queryable<OrderInfo>()
|
|
.GroupBy(it => new { it.Name ,it.Price })
|
|
.Select(it => new
|
|
{
|
|
key = it.Name,
|
|
Prie=it.Price,
|
|
groupCount = SqlFunc.AggregateCount(it.Id),
|
|
max = SqlFunc.AggregateMax(it.Id),
|
|
min = SqlFunc.AggregateMin(it.Id)
|
|
}).ToList();
|
|
//测试生成SQL性能
|
|
TestSqlBuilder(db);
|
|
}
|
|
|
|
private static void TestSqlBuilder(SqlSugar.SqlSugarClient db)
|
|
{
|
|
for (int i = 0; i < 10000; i++)
|
|
{
|
|
db.Insertable(new OrderInfo() { CreateTime = DateTime.Now, Name = "a", Price = 1 })
|
|
.ToSql();
|
|
}
|
|
}
|
|
}
|
|
}
|