mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-23 22:11:36 +08:00
Update demo
This commit is contained in:
parent
879e9dcfcb
commit
7b49419f78
@ -71,13 +71,12 @@ namespace OrmTest
|
|||||||
//db.DbMaintenance.CreateDatabase();
|
//db.DbMaintenance.CreateDatabase();
|
||||||
|
|
||||||
//Use db query
|
//Use db query
|
||||||
var dt = db.Ado.SqlQuery<dynamic>("select 1");
|
var dt = db.Ado.SqlQuery<dynamic>("select @id",new { id=1});
|
||||||
|
|
||||||
//Create tables
|
//Create tables
|
||||||
db.CodeFirst.InitTables(typeof(OrderItem),typeof(Order));
|
db.CodeFirst.InitTables(typeof(OrderItem),typeof(Order));
|
||||||
var xx=db.Insertable(new Order() { Name = "order1", CustomId = 1, Price = 0, CreateTime = DateTime.Now })
|
var xx=db.Insertable(new Order() { Name = "order1", CustomId = 1, Price = 0, CreateTime = DateTime.Now })
|
||||||
.ToSqlString();
|
.ExecuteCommand();
|
||||||
db.Ado.ExecuteCommand(xx);
|
|
||||||
//Insert data
|
//Insert data
|
||||||
// db.Insertable(new OrderItem() { OrderId = id, Price = 0, CreateTime=DateTime.Now }).ExecuteCommand();
|
// db.Insertable(new OrderItem() { OrderId = id, Price = 0, CreateTime=DateTime.Now }).ExecuteCommand();
|
||||||
Console.WriteLine("#### SqlSugarClient End ####");
|
Console.WriteLine("#### SqlSugarClient End ####");
|
||||||
@ -119,12 +118,12 @@ namespace OrmTest
|
|||||||
orderDb.AsInsertable(insertObj).ExecuteCommand();
|
orderDb.AsInsertable(insertObj).ExecuteCommand();
|
||||||
|
|
||||||
|
|
||||||
//Delete
|
////Delete
|
||||||
orderDb.Delete(insertObj);
|
//orderDb.Delete(insertObj);
|
||||||
orderDb.DeleteById(11111);
|
//orderDb.DeleteById(11111);
|
||||||
orderDb.DeleteById(new int[] { 1111, 2222 });
|
//orderDb.DeleteById(new int[] { 1111, 2222 });
|
||||||
orderDb.Delete(it => it.Id == 1111);
|
//orderDb.Delete(it => it.Id == 1111);
|
||||||
orderDb.AsDeleteable().Where(it => it.Id == 1111).ExecuteCommand();
|
//orderDb.AsDeleteable().Where(it => it.Id == 1111).ExecuteCommand();
|
||||||
|
|
||||||
//Update
|
//Update
|
||||||
orderDb.Update(insertObj);
|
orderDb.Update(insertObj);
|
||||||
|
@ -18,7 +18,6 @@ namespace OrmTest
|
|||||||
JoinTable();
|
JoinTable();
|
||||||
Async();
|
Async();
|
||||||
NoEntity();
|
NoEntity();
|
||||||
Mapper();
|
|
||||||
SqlFuncTest();
|
SqlFuncTest();
|
||||||
Subquery();
|
Subquery();
|
||||||
ReturnType();
|
ReturnType();
|
||||||
@ -31,29 +30,29 @@ namespace OrmTest
|
|||||||
var db = GetInstance();
|
var db = GetInstance();
|
||||||
var dbTime = db.GetDate();
|
var dbTime = db.GetDate();
|
||||||
var getAll = db.Queryable<Order>().ToList();
|
var getAll = db.Queryable<Order>().ToList();
|
||||||
|
var getLike = db.Queryable<Order>().Where(it=>it.Name.Contains("order1")).ToList();
|
||||||
|
var getYYYY = db.Queryable<Order>().Select(it => it.CreateTime.ToString("yyyy-MM-dd")).ToList();
|
||||||
var getOrderBy = db.Queryable<Order>().OrderBy(it => it.Name,OrderByType.Desc).ToList();
|
var getOrderBy = db.Queryable<Order>().OrderBy(it => it.Name,OrderByType.Desc).ToList();
|
||||||
var getOrderBy2 = db.Queryable<Order>().OrderBy(it => it.Id).OrderBy(it => it.Name, OrderByType.Desc).ToList();
|
var getOrderBy2 = db.Queryable<Order>().OrderBy(it => it.Id).OrderBy(it => it.Name, OrderByType.Desc).ToList();
|
||||||
var getOrderBy3 = db.Queryable<Order>().OrderBy(it =>new { it.Name,it.Id}).ToList();
|
var getOrderBy3 = db.Queryable<Order>().OrderBy(it =>new { it.Name,it.Id}).ToList();
|
||||||
var getRandom = db.Queryable<Order>().OrderBy(it => SqlFunc.GetRandom()).First();
|
//var getRandom = db.Queryable<Order>().OrderBy(it => SqlFunc.GetRandom()).First();
|
||||||
var getByPrimaryKey = db.Queryable<Order>().InSingle(2);
|
var getByPrimaryKey = db.Queryable<Order>().InSingle(2);
|
||||||
var getSingleOrDefault = db.Queryable<Order>().Where(it => it.Id == 1).Single();
|
var getSingleOrDefault = db.Queryable<Order>().Where(it => it.Id == 1).Single();
|
||||||
var getFirstOrDefault = db.Queryable<Order>().First();
|
var getFirstOrDefault = db.Queryable<Order>().First();
|
||||||
var getByWhere = db.Queryable<Order>().Where(it => it.Id == 1 || it.Name == "a").ToList();
|
var getByWhere = db.Queryable<Order>().Where(it => it.Id == 1 || it.Name == "a").ToList();
|
||||||
var getByWhere2 = db.Queryable<Order>().Where(it => it.Id == DateTime.Now.Year).ToList();
|
var getByWhere2 = db.Queryable<Order>().Where(it => it.Id == DateTime.Now.Year).ToList();
|
||||||
var getByFuns = db.Queryable<Order>().Where(it => SqlFunc.IsNullOrEmpty(it.Name)).ToList();
|
var getByFuns = db.Queryable<Order>().Where(it => SqlFunc.IsNullOrEmpty(it.Name)).ToList();
|
||||||
var getByFuns2 = db.Queryable<Order>().GroupBy(it => it.Name).Select(it => SqlFunc.AggregateDistinctCount(it.Price)).ToList();
|
// var getByFuns2 = db.Queryable<Order>().GroupBy(it => it.Name).Select(it => SqlFunc.AggregateDistinctCount(it.Price)).ToList();
|
||||||
var btime = Convert.ToDateTime("2021-1-1");
|
var btime = Convert.ToDateTime("2021-1-1");
|
||||||
var etime = Convert.ToDateTime("2022-1-12");
|
var etime = Convert.ToDateTime("2022-1-12");
|
||||||
var test01 = db.Queryable<Order>().Select(it => SqlFunc.DateDiff(DateType.Year,btime, etime)).ToList();
|
var test01 = db.Queryable<Order>().Select(it => SqlFunc.DateDiff(DateType.Year,btime, etime)).ToList();
|
||||||
var test02 = db.Queryable<Order>().Select(it => SqlFunc.DateDiff(DateType.Day, btime, etime)).ToList();
|
var test02 = db.Queryable<Order>().Select(it => SqlFunc.DateDiff(DateType.Day, btime, etime)).ToList();
|
||||||
var test03 = db.Queryable<Order>().Select(it => SqlFunc.DateDiff(DateType.Month, btime, etime)).ToList();
|
var test03 = db.Queryable<Order>().Select(it => SqlFunc.DateDiff(DateType.Month, btime, etime)).ToList();
|
||||||
var test04 = db.Queryable<Order>().Select(it => SqlFunc.DateDiff(DateType.Second, DateTime.Now, DateTime.Now.AddMinutes(2))).ToList();
|
//var test04 = db.Queryable<Order>().Select(it => SqlFunc.DateDiff(DateType.Second, DateTime.Now, DateTime.Now.AddMinutes(2))).ToList();
|
||||||
var q1 = db.Queryable<Order>().Take(1);
|
var q1 = db.Queryable<Order>().Take(1);
|
||||||
var q2 = db.Queryable<Order>().Take(2);
|
var q2 = db.Queryable<Order>().Take(2);
|
||||||
var test05 = db.UnionAll(q1, q2).ToList();
|
var test05 = db.UnionAll(q1, q2).ToList();
|
||||||
var test06 = db.Queryable<Order>().
|
var test06 = db.Queryable<Order>().ToList();
|
||||||
Where(it => it.Price == 0 ? true : it.Name == it.Name)
|
|
||||||
.ToList();
|
|
||||||
Console.WriteLine("#### Examples End ####");
|
Console.WriteLine("#### Examples End ####");
|
||||||
Console.WriteLine("#### Examples End ####");
|
Console.WriteLine("#### Examples End ####");
|
||||||
}
|
}
|
||||||
@ -120,11 +119,11 @@ namespace OrmTest
|
|||||||
Console.WriteLine("#### Subquery Start ####");
|
Console.WriteLine("#### Subquery Start ####");
|
||||||
var db = GetInstance();
|
var db = GetInstance();
|
||||||
|
|
||||||
var list = db.Queryable<Order>().Take(10).Select(it => new
|
//var list = db.Queryable<Order>().Take(10).Select(it => new
|
||||||
{
|
//{
|
||||||
customName=SqlFunc.Subqueryable<Custom>().Where("it.CustomId=id").Select(s=>s.Name),
|
// customName=SqlFunc.Subqueryable<Custom>().Where("it.CustomId=id").Select(s=>s.Name),
|
||||||
customName2 = SqlFunc.Subqueryable<Custom>().Where("it.CustomId = id").Where(s => true).Select(s => s.Name)
|
// customName2 = SqlFunc.Subqueryable<Custom>().Where("it.CustomId = id").Where(s => true).Select(s => s.Name)
|
||||||
}).ToList();
|
//}).ToList();
|
||||||
|
|
||||||
var list2 = db.Queryable<Order>().Where(it => SqlFunc.Subqueryable<OrderItem>().Where(i => i.OrderId == it.Id).Any()).ToList();
|
var list2 = db.Queryable<Order>().Where(it => SqlFunc.Subqueryable<OrderItem>().Where(i => i.OrderId == it.Id).Any()).ToList();
|
||||||
|
|
||||||
@ -137,11 +136,11 @@ namespace OrmTest
|
|||||||
Console.WriteLine("#### SqlFunc Start ####");
|
Console.WriteLine("#### SqlFunc Start ####");
|
||||||
var db = GetInstance();
|
var db = GetInstance();
|
||||||
var index= db.Queryable<Order>().Select(it => SqlFunc.Contains("a", "cccacc")).First();
|
var index= db.Queryable<Order>().Select(it => SqlFunc.Contains("a", "cccacc")).First();
|
||||||
var list = db.Queryable<Order>().Select(it => new ViewOrder()
|
//var list = db.Queryable<Order>().Select(it => new ViewOrder()
|
||||||
{
|
//{
|
||||||
|
|
||||||
Id = SqlFunc.AggregateSum(SqlFunc.IF(it.Id > 0).Return(1).End(0))
|
// Id = SqlFunc.AggregateSum(SqlFunc.IF(it.Id > 0).Return(1).End(0))
|
||||||
}).ToList();
|
//}).ToList();
|
||||||
var list2 = db.Queryable<Order>().Select(it => new
|
var list2 = db.Queryable<Order>().Select(it => new
|
||||||
{
|
{
|
||||||
date = SqlFunc.ToDateShort(it.CreateTime),
|
date = SqlFunc.ToDateShort(it.CreateTime),
|
||||||
@ -150,61 +149,6 @@ namespace OrmTest
|
|||||||
Console.WriteLine("#### SqlFunc End ####");
|
Console.WriteLine("#### SqlFunc End ####");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void Mapper()
|
|
||||||
{
|
|
||||||
Console.WriteLine("");
|
|
||||||
Console.WriteLine("#### Mapper Start ####");
|
|
||||||
var db = GetInstance();
|
|
||||||
//Creater Table
|
|
||||||
db.CodeFirst.InitTables(typeof(Tree));
|
|
||||||
db.DbMaintenance.TruncateTable("tree");
|
|
||||||
db.Insertable(new Tree() { Id = 1, Name = "root" }).ExecuteCommand();
|
|
||||||
db.Insertable(new Tree() { Id = 11, Name = "child1",ParentId=1 }).ExecuteCommand();
|
|
||||||
db.Insertable(new Tree() { Id = 12, Name = "child2",ParentId=1 }).ExecuteCommand();
|
|
||||||
db.Insertable(new Tree() { Id = 2, Name = "root" }).ExecuteCommand();
|
|
||||||
db.Insertable(new Tree() { Id = 22, Name = "child3", ParentId = 2 }).ExecuteCommand();
|
|
||||||
|
|
||||||
// Same property name mapping,Both entities have parentId
|
|
||||||
var list = db.Queryable<Tree>().Mapper(it => it.Parent, it => it.ParentId).ToList();
|
|
||||||
|
|
||||||
|
|
||||||
//If both entities have parentId, I don't want to associate with parentId.
|
|
||||||
var list1 =db.Queryable<Tree>()
|
|
||||||
//parent=(select * from parent where id=it.parentid)
|
|
||||||
.Mapper(it=>it.Parent,it=>it.ParentId, it=>it.Parent.Id)
|
|
||||||
//Child=(select * from parent where ParentId=it.id)
|
|
||||||
.Mapper(it => it.Child, it => it.Id, it => it.Parent.ParentId)
|
|
||||||
.ToList();
|
|
||||||
//one to one
|
|
||||||
var list2 = db.Queryable<OrderItemInfo>().Mapper(it => it.Order, it => it.OrderId).ToList();
|
|
||||||
|
|
||||||
//one to many
|
|
||||||
var list3 = db.Queryable<Order>().Mapper(it => it.Items, it => it.Items.First().OrderId).ToList();
|
|
||||||
|
|
||||||
//many to many
|
|
||||||
db.CodeFirst.InitTables<A, B, ABMapping>();
|
|
||||||
|
|
||||||
db.Insertable(new A() { Name = "A" }).ExecuteCommand();
|
|
||||||
db.Insertable(new B() { Name = "B" }).ExecuteCommand();
|
|
||||||
db.Insertable(new ABMapping() { AId = 1, BId = 1 }).ExecuteCommand();
|
|
||||||
|
|
||||||
var list4 = db.Queryable<ABMapping>()
|
|
||||||
.Mapper(it => it.A, it => it.AId)
|
|
||||||
.Mapper(it => it.B, it => it.BId)
|
|
||||||
.Where(it => it.A.Id == 1).ToList();
|
|
||||||
|
|
||||||
//Manual mode
|
|
||||||
var result = db.Queryable<OrderInfo>().Take(10).Select<ViewOrder>().Mapper((itemModel, cache) =>
|
|
||||||
{
|
|
||||||
var allItems = cache.Get(orderList => {
|
|
||||||
var allIds = orderList.Select(it => it.Id).ToList();
|
|
||||||
return db.Queryable<OrderItem>().Where(it => allIds.Contains(it.OrderId)).ToList();//Execute only once
|
|
||||||
});
|
|
||||||
itemModel.Items = allItems.Where(it => it.OrderId==itemModel.Id).ToList();//Every time it's executed
|
|
||||||
}).ToList();
|
|
||||||
|
|
||||||
Console.WriteLine("#### End Start ####");
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void NoEntity()
|
private static void NoEntity()
|
||||||
{
|
{
|
||||||
|
@ -13,33 +13,33 @@ namespace OrmTest
|
|||||||
{
|
{
|
||||||
Console.WriteLine("");
|
Console.WriteLine("");
|
||||||
Console.WriteLine("#### Deleteable Start ####");
|
Console.WriteLine("#### Deleteable Start ####");
|
||||||
|
//No Support DELETE
|
||||||
|
//SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
|
||||||
|
//{
|
||||||
|
// DbType = DbType.QuestDB,
|
||||||
|
// ConnectionString = Config.ConnectionString,
|
||||||
|
// InitKeyType = InitKeyType.Attribute,
|
||||||
|
// IsAutoCloseConnection = true,
|
||||||
|
// AopEvents = new AopEvents
|
||||||
|
// {
|
||||||
|
// OnLogExecuting = (sql, p) =>
|
||||||
|
// {
|
||||||
|
// Console.WriteLine(sql);
|
||||||
|
// Console.WriteLine(string.Join(",", p?.Select(it => it.ParameterName + ":" + it.Value)));
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//});
|
||||||
|
////by entity
|
||||||
|
//db.Deleteable<Order>().Where(new Order() { Id = 1111 }).ExecuteCommand();
|
||||||
|
|
||||||
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
|
////by primary key
|
||||||
{
|
//db.Deleteable<Order>().In(1111).ExecuteCommand();
|
||||||
DbType = DbType.QuestDB,
|
|
||||||
ConnectionString = Config.ConnectionString,
|
|
||||||
InitKeyType = InitKeyType.Attribute,
|
|
||||||
IsAutoCloseConnection = true,
|
|
||||||
AopEvents = new AopEvents
|
|
||||||
{
|
|
||||||
OnLogExecuting = (sql, p) =>
|
|
||||||
{
|
|
||||||
Console.WriteLine(sql);
|
|
||||||
Console.WriteLine(string.Join(",", p?.Select(it => it.ParameterName + ":" + it.Value)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
//by entity
|
|
||||||
db.Deleteable<Order>().Where(new Order() { Id = 1111 }).ExecuteCommand();
|
|
||||||
|
|
||||||
//by primary key
|
////by primary key array
|
||||||
db.Deleteable<Order>().In(1111).ExecuteCommand();
|
//db.Deleteable<Order>().In(new int[] { 1111, 2222 }).ExecuteCommand();
|
||||||
|
|
||||||
//by primary key array
|
////by expression
|
||||||
db.Deleteable<Order>().In(new int[] { 1111, 2222 }).ExecuteCommand();
|
//db.Deleteable<Order>().Where(it => it.Id == 11111).ExecuteCommand();
|
||||||
|
|
||||||
//by expression
|
|
||||||
db.Deleteable<Order>().Where(it => it.Id == 11111).ExecuteCommand();
|
|
||||||
|
|
||||||
Console.WriteLine("#### Deleteable End ####");
|
Console.WriteLine("#### Deleteable End ####");
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ namespace OrmTest
|
|||||||
[SugarColumn(IsIdentity = true, IsPrimaryKey = true)]
|
[SugarColumn(IsIdentity = true, IsPrimaryKey = true)]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
[SugarColumn(ColumnDataType = "varchar(255)")]//custom
|
[SugarColumn(ColumnDataType = "string")]//custom
|
||||||
public string Text { get; set; }
|
public string Text { get; set; }
|
||||||
[SugarColumn(IsNullable = true)]
|
[SugarColumn(IsNullable = true)]
|
||||||
public DateTime CreateTime { get; set; }
|
public DateTime CreateTime { get; set; }
|
||||||
|
@ -1,62 +0,0 @@
|
|||||||
using OrmTest;
|
|
||||||
using SqlSugar;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace OrmTest
|
|
||||||
{
|
|
||||||
public class TestFAST11
|
|
||||||
{
|
|
||||||
[SqlSugar.SugarColumn(IsArray =true, ColumnDataType ="text []")]
|
|
||||||
public string[] Array { get; set; }
|
|
||||||
|
|
||||||
public int Sex { get; set; }
|
|
||||||
public DateTime Date { get; set; }
|
|
||||||
|
|
||||||
[SqlSugar.SugarColumn(IsPrimaryKey =true)]
|
|
||||||
public string Id { get; set; }
|
|
||||||
[SqlSugar.SugarColumn(IsNullable = true)]
|
|
||||||
public long X { get; set; }
|
|
||||||
[SqlSugar.SugarColumn(IsNullable = true,IsJson =true,ColumnDataType ="json")]
|
|
||||||
public string [] json { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public class DemoO_Fastest
|
|
||||||
{
|
|
||||||
public static void Init()
|
|
||||||
{
|
|
||||||
Console.WriteLine("");
|
|
||||||
Console.WriteLine("#### Insertable Start ####");
|
|
||||||
|
|
||||||
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
|
|
||||||
{
|
|
||||||
DbType = DbType.QuestDB,
|
|
||||||
ConnectionString = Config.ConnectionString,
|
|
||||||
InitKeyType = InitKeyType.Attribute,
|
|
||||||
IsAutoCloseConnection = true,
|
|
||||||
AopEvents = new AopEvents
|
|
||||||
{
|
|
||||||
OnLogExecuting = (sql, p) =>
|
|
||||||
{
|
|
||||||
Console.WriteLine(sql);
|
|
||||||
Console.WriteLine(string.Join(",", p?.Select(it => it.ParameterName + ":" + it.Value)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
db.CodeFirst.InitTables<TestFAST11>();
|
|
||||||
db.Fastest<TestFAST11>().BulkCopy(new List<TestFAST11>() {
|
|
||||||
new TestFAST11(){ Array=new string[]{ "2"}, Date=DateTime.Now, Id=Guid.NewGuid()+"", Sex=1 , X=11,json=new string[]{ "x"} }
|
|
||||||
});
|
|
||||||
var data = new List<TestFAST11>() {
|
|
||||||
new TestFAST11(){ Array=new string[]{ "2"}, Date=DateTime.Now, Id=Guid.NewGuid()+"", Sex=1 , X=11,json=new string[]{ "x"} }
|
|
||||||
};
|
|
||||||
//db.Updateable(data).ExecuteCommand();
|
|
||||||
db.Fastest<TestFAST11>().BulkUpdate(data);
|
|
||||||
var x = db.Queryable<TestFAST11>().ToList();
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -8,7 +8,6 @@ namespace OrmTest
|
|||||||
{
|
{
|
||||||
//Demo
|
//Demo
|
||||||
Demo0_SqlSugarClient.Init();
|
Demo0_SqlSugarClient.Init();
|
||||||
DemoO_Fastest.Init();
|
|
||||||
Demo1_Queryable.Init();
|
Demo1_Queryable.Init();
|
||||||
Demo2_Updateable.Init();
|
Demo2_Updateable.Init();
|
||||||
Demo3_Insertable.Init();
|
Demo3_Insertable.Init();
|
||||||
|
Loading…
Reference in New Issue
Block a user