2023-08-09 21:43:51 +08:00
|
|
|
|
using SqlSugar;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
namespace OrmTest
|
|
|
|
|
{
|
|
|
|
|
public class Unitadfafa
|
|
|
|
|
{
|
|
|
|
|
public static void Init()
|
|
|
|
|
{
|
|
|
|
|
//
|
|
|
|
|
SqlSugarClient Db = new SqlSugarClient(new ConnectionConfig()
|
|
|
|
|
{
|
|
|
|
|
ConnectionString = Config.ConnectionString,
|
|
|
|
|
DbType = DbType.SqlServer,
|
|
|
|
|
IsAutoCloseConnection = true
|
|
|
|
|
},
|
|
|
|
|
db =>
|
|
|
|
|
{
|
|
|
|
|
//5.1.3.24统一了语法和SqlSugarScope一样,老版本AOP可以写外面
|
|
|
|
|
|
|
|
|
|
db.Aop.OnLogExecuting = (sql, pars) =>
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine(sql);//输出sql,查看执行sql 性能无影响
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
Init(Db);
|
|
|
|
|
|
|
|
|
|
var list = Db.Queryable<OrderModel>()
|
|
|
|
|
.Includes(x => x.FleetInfo)
|
|
|
|
|
.GroupBy(x => new
|
|
|
|
|
{
|
|
|
|
|
x.CreateTime!.Value.Date,
|
|
|
|
|
})
|
|
|
|
|
.Select(x => new
|
|
|
|
|
{
|
|
|
|
|
Date = x.CreateTime!.Value.Date,
|
|
|
|
|
SumPrice = SqlFunc.AggregateSum(x.Price)
|
|
|
|
|
}).MergeTable().ToList();
|
2023-08-13 16:10:31 +08:00
|
|
|
|
|
|
|
|
|
for (int i = 0; i < 100; i++)
|
|
|
|
|
{
|
|
|
|
|
var guids = Db.Queryable<Order>().Select(it => new
|
|
|
|
|
{
|
|
|
|
|
id = SqlFunc.NewUid()
|
|
|
|
|
}).Take(10).ToList();
|
|
|
|
|
}
|
2023-08-09 21:43:51 +08:00
|
|
|
|
|
|
|
|
|
Console.WriteLine(list.Count);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static void Init(SqlSugarClient db)
|
|
|
|
|
{
|
|
|
|
|
var orders = new List<OrderModel>();
|
|
|
|
|
var fleets = new List<Fleet>();
|
|
|
|
|
int a = 0;
|
|
|
|
|
for (int i = 0; i < 10; i++)
|
|
|
|
|
{
|
|
|
|
|
orders.Add(new OrderModel
|
|
|
|
|
{
|
|
|
|
|
Id = i,
|
|
|
|
|
CreateTime = DateTime.Now.AddDays(-a),
|
|
|
|
|
FleetId = i,
|
|
|
|
|
Price = (decimal)(i * 0.3)
|
|
|
|
|
});
|
|
|
|
|
a++;
|
|
|
|
|
if (a == 5)
|
|
|
|
|
a = 0;
|
|
|
|
|
fleets.Add(new Fleet
|
|
|
|
|
{
|
|
|
|
|
Id = i,
|
|
|
|
|
Name = $"{i}--号"
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
db.DbMaintenance.CreateDatabase();
|
|
|
|
|
db.CodeFirst.InitTables(typeof(OrderModel));
|
|
|
|
|
db.CodeFirst.InitTables(typeof(Fleet));
|
|
|
|
|
db.DbMaintenance.TruncateTable<OrderModel,Fleet>();
|
|
|
|
|
db.Insertable<OrderModel>(orders).ExecuteCommand();
|
|
|
|
|
db.Insertable<Fleet>(fleets).ExecuteCommand();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class OrderModel
|
|
|
|
|
{
|
|
|
|
|
[SugarColumn(IsPrimaryKey = true)]
|
|
|
|
|
public long Id { get; set; }
|
|
|
|
|
|
|
|
|
|
public decimal Price { get; set; }
|
|
|
|
|
public DateTime? CreateTime { get; set; }
|
|
|
|
|
|
|
|
|
|
public long FleetId { get; set; }
|
|
|
|
|
|
|
|
|
|
[SugarColumn(IsIgnore = true, IsNullable = true)]
|
|
|
|
|
[Navigate(NavigateType.OneToOne, nameof(FleetId))]
|
|
|
|
|
public Fleet? FleetInfo { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class Fleet
|
|
|
|
|
{
|
|
|
|
|
[SugarColumn(IsPrimaryKey = true)]
|
|
|
|
|
public long Id { get; set; }
|
|
|
|
|
|
|
|
|
|
public string Name { get; set; }
|
|
|
|
|
|
|
|
|
|
public long Pid { get; set; } = 0;
|
|
|
|
|
|
|
|
|
|
[Navigate(NavigateType.OneToOne, nameof(Pid))]
|
|
|
|
|
public Fleet? Flee { get; set; }
|
|
|
|
|
}
|
|
|
|
|
}
|