mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-23 13:06:50 +08:00
Update demo
This commit is contained in:
parent
879e9dcfcb
commit
7b49419f78
@ -71,13 +71,12 @@ namespace OrmTest
|
||||
//db.DbMaintenance.CreateDatabase();
|
||||
|
||||
//Use db query
|
||||
var dt = db.Ado.SqlQuery<dynamic>("select 1");
|
||||
var dt = db.Ado.SqlQuery<dynamic>("select @id",new { id=1});
|
||||
|
||||
//Create tables
|
||||
db.CodeFirst.InitTables(typeof(OrderItem),typeof(Order));
|
||||
var xx=db.Insertable(new Order() { Name = "order1", CustomId = 1, Price = 0, CreateTime = DateTime.Now })
|
||||
.ToSqlString();
|
||||
db.Ado.ExecuteCommand(xx);
|
||||
.ExecuteCommand();
|
||||
//Insert data
|
||||
// db.Insertable(new OrderItem() { OrderId = id, Price = 0, CreateTime=DateTime.Now }).ExecuteCommand();
|
||||
Console.WriteLine("#### SqlSugarClient End ####");
|
||||
@ -119,12 +118,12 @@ namespace OrmTest
|
||||
orderDb.AsInsertable(insertObj).ExecuteCommand();
|
||||
|
||||
|
||||
//Delete
|
||||
orderDb.Delete(insertObj);
|
||||
orderDb.DeleteById(11111);
|
||||
orderDb.DeleteById(new int[] { 1111, 2222 });
|
||||
orderDb.Delete(it => it.Id == 1111);
|
||||
orderDb.AsDeleteable().Where(it => it.Id == 1111).ExecuteCommand();
|
||||
////Delete
|
||||
//orderDb.Delete(insertObj);
|
||||
//orderDb.DeleteById(11111);
|
||||
//orderDb.DeleteById(new int[] { 1111, 2222 });
|
||||
//orderDb.Delete(it => it.Id == 1111);
|
||||
//orderDb.AsDeleteable().Where(it => it.Id == 1111).ExecuteCommand();
|
||||
|
||||
//Update
|
||||
orderDb.Update(insertObj);
|
||||
|
@ -18,7 +18,6 @@ namespace OrmTest
|
||||
JoinTable();
|
||||
Async();
|
||||
NoEntity();
|
||||
Mapper();
|
||||
SqlFuncTest();
|
||||
Subquery();
|
||||
ReturnType();
|
||||
@ -31,29 +30,29 @@ namespace OrmTest
|
||||
var db = GetInstance();
|
||||
var dbTime = db.GetDate();
|
||||
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 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 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 getSingleOrDefault = db.Queryable<Order>().Where(it => it.Id == 1).Single();
|
||||
var getFirstOrDefault = db.Queryable<Order>().First();
|
||||
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 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 etime = Convert.ToDateTime("2022-1-12");
|
||||
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 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 q2 = db.Queryable<Order>().Take(2);
|
||||
var test05 = db.UnionAll(q1, q2).ToList();
|
||||
var test06 = db.Queryable<Order>().
|
||||
Where(it => it.Price == 0 ? true : it.Name == it.Name)
|
||||
.ToList();
|
||||
var test06 = db.Queryable<Order>().ToList();
|
||||
Console.WriteLine("#### Examples End ####");
|
||||
Console.WriteLine("#### Examples End ####");
|
||||
}
|
||||
@ -120,11 +119,11 @@ namespace OrmTest
|
||||
Console.WriteLine("#### Subquery Start ####");
|
||||
var db = GetInstance();
|
||||
|
||||
var list = db.Queryable<Order>().Take(10).Select(it => new
|
||||
{
|
||||
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)
|
||||
}).ToList();
|
||||
//var list = db.Queryable<Order>().Take(10).Select(it => new
|
||||
//{
|
||||
// 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)
|
||||
//}).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 ####");
|
||||
var db = GetInstance();
|
||||
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))
|
||||
}).ToList();
|
||||
// Id = SqlFunc.AggregateSum(SqlFunc.IF(it.Id > 0).Return(1).End(0))
|
||||
//}).ToList();
|
||||
var list2 = db.Queryable<Order>().Select(it => new
|
||||
{
|
||||
date = SqlFunc.ToDateShort(it.CreateTime),
|
||||
@ -149,62 +148,7 @@ namespace OrmTest
|
||||
}).ToList();
|
||||
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()
|
||||
{
|
||||
|
@ -13,33 +13,33 @@ namespace OrmTest
|
||||
{
|
||||
Console.WriteLine("");
|
||||
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()
|
||||
{
|
||||
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
|
||||
//db.Deleteable<Order>().In(1111).ExecuteCommand();
|
||||
|
||||
//by primary key
|
||||
db.Deleteable<Order>().In(1111).ExecuteCommand();
|
||||
////by primary key array
|
||||
//db.Deleteable<Order>().In(new int[] { 1111, 2222 }).ExecuteCommand();
|
||||
|
||||
//by primary key array
|
||||
db.Deleteable<Order>().In(new int[] { 1111, 2222 }).ExecuteCommand();
|
||||
|
||||
//by expression
|
||||
db.Deleteable<Order>().Where(it => it.Id == 11111).ExecuteCommand();
|
||||
////by expression
|
||||
//db.Deleteable<Order>().Where(it => it.Id == 11111).ExecuteCommand();
|
||||
|
||||
Console.WriteLine("#### Deleteable End ####");
|
||||
|
||||
|
@ -32,7 +32,7 @@ namespace OrmTest
|
||||
[SugarColumn(IsIdentity = true, IsPrimaryKey = true)]
|
||||
public int Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
[SugarColumn(ColumnDataType = "varchar(255)")]//custom
|
||||
[SugarColumn(ColumnDataType = "string")]//custom
|
||||
public string Text { get; set; }
|
||||
[SugarColumn(IsNullable = true)]
|
||||
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
|
||||
Demo0_SqlSugarClient.Init();
|
||||
DemoO_Fastest.Init();
|
||||
Demo1_Queryable.Init();
|
||||
Demo2_Updateable.Init();
|
||||
Demo3_Insertable.Init();
|
||||
|
Loading…
Reference in New Issue
Block a user