Update questDb demo

This commit is contained in:
sunkaixuan 2022-07-31 23:51:07 +08:00
parent efff03b294
commit d446d4e4dd
8 changed files with 34 additions and 118 deletions

View File

@ -73,10 +73,12 @@ namespace OrmTest
//Use db query
var dt = db.Ado.SqlQuery<dynamic>("select @id",new { id=1});
//Create tables
db.CodeFirst.InitTables(typeof(OrderItem),typeof(Order));
//db.DbMaintenance.TruncateTable<Order>();
var xx=db.Insertable(new Order() { Name = "order1", CustomId = 1, Price = 0, CreateTime = DateTime.Now })
.ExecuteCommand();
.ExecuteReturnSnowflakeId();
//Insert data
// db.Insertable(new OrderItem() { OrderId = id, Price = 0, CreateTime=DateTime.Now }).ExecuteCommand();
Console.WriteLine("#### SqlSugarClient End ####");
@ -87,7 +89,7 @@ namespace OrmTest
{
Console.WriteLine("");
Console.WriteLine("#### DbContext Start ####");
var insertObj = new Order { Name = "jack", CreateTime = DateTime.Now };
var insertObj = new Order { Id=SnowFlakeSingle.Instance.NextId(),Name = "jack", CreateTime = DateTime.Now };
var InsertObjs = new Order[] { insertObj };
DbContext context = new DbContext();
@ -97,7 +99,7 @@ namespace OrmTest
var orderDb = context.OrderDb;
//Select
var data1 = orderDb.GetById(1);
// var data1 = orderDb.GetById();
var data2 = orderDb.GetList();
var data3 = orderDb.GetList(it => it.Id == 1);
var data4 = orderDb.GetSingle(it => it.Id == 1);

View File

@ -35,7 +35,6 @@ namespace OrmTest
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 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();
@ -63,18 +62,18 @@ namespace OrmTest
}
var list = new List<Users>();
for (var i = 0; i < 100; i++)
for (var i = 0; i < 1000; i++)
{
list.Add(new Users
{
Id = i + 1,
Sid=SnowFlakeSingle.Instance.NextId(),
createtime = DateTime.Now,
username = "161718",
password = "161718",
});
}
db.Insertable<Users>(list).ExecuteReturnSnowflakeId();
db.Insertable(list).ExecuteCommand();
var list2 = db.Queryable<Users>().ToList();
@ -95,7 +94,7 @@ namespace OrmTest
var json = db.Queryable<Order>().ToJson();
List<int> listInt = db.Queryable<Order>().Select(it => it.Id).ToList();
List<long> listInt = db.Queryable<Order>().Select(it => it.Id).ToList();
var dynamic = db.Queryable<Order>().Select<dynamic>().ToList();

View File

@ -36,8 +36,8 @@ namespace OrmTest
var updateObj = new Order() { Id = 1, Name = "order1" };
var updateObjs = new List<Order> {
new Order() { Id = 11, Name = "order11" },
new Order() { Id = 12, Name = "order12" }
new Order() { Id = 11, Name = "order11",CreateTime=DateTime.Now },
new Order() { Id = 12, Name = "order12" ,CreateTime=DateTime.Now}
};
//update all columns by primary key

View File

@ -32,114 +32,31 @@ namespace OrmTest
var insertObj = new Order() { Id = 1, Name = "order1",Price=0 };
var updateObjs = new List<Order> {
new Order() { Id = 11, Name = "order11", Price=0 },
new Order() { Id = 12, Name = "order12" , Price=0}
new Order() { Id = SnowFlakeSingle.Instance.NextId(), Name = "order11", Price=0 },
new Order() { Id = SnowFlakeSingle.Instance.NextId(), Name = "order12" , Price=0}
};
var x = db.Insertable(updateObjs).RemoveDataCache().IgnoreColumns(it => it.CreateTime).UseParameter().ExecuteCommand();
//Ignore CreateTime
db.Insertable(insertObj).IgnoreColumns(it => new { it.CreateTime }).ExecuteReturnIdentity();//get identity
db.Insertable(insertObj).IgnoreColumns("CreateTime").ExecuteReturnIdentity();
db.Insertable(insertObj).IgnoreColumns(it => new { it.CreateTime }).ExecuteReturnSnowflakeId();//get identity
db.Insertable(insertObj).IgnoreColumns("CreateTime").ExecuteReturnSnowflakeId();
//Only insert Name and Price
db.Insertable(insertObj).InsertColumns(it => new { it.Name, it.Price }).ExecuteReturnIdentity();
db.Insertable(insertObj).InsertColumns("Name", "Price").ExecuteReturnIdentity();
db.Insertable(insertObj).InsertColumns(it => new { it.Name, it.Price }).ExecuteReturnSnowflakeId();
db.Insertable(insertObj).InsertColumns("Name", "Price").ExecuteReturnSnowflakeId();
foreach (var item in updateObjs)
{
item.Id = 0;
}
//ignore null columns
db.Insertable(updateObjs).ExecuteCommand();//get change row count
db.Insertable(updateObjs).ExecuteReturnSnowflakeId();//get change row count
//Use Lock
db.Insertable(insertObj).With(SqlWith.UpdLock).ExecuteCommand();
db.CodeFirst.InitTables<RootTable0, TwoItem, TwoItem2, TwoItem3>();
db.CodeFirst.InitTables<ThreeItem2>();
db.DbMaintenance.TruncateTable("RootTable0");
db.DbMaintenance.TruncateTable("TwoItem");
db.DbMaintenance.TruncateTable("TwoItem2");
db.DbMaintenance.TruncateTable("TwoItem3");
db.DbMaintenance.TruncateTable("ThreeItem2");
Console.WriteLine("SubInsert Start");
db.Insertable(new Order()
{
Name = "订单 1",
CustomId = 1,
Price = 100,
CreateTime = DateTime.Now,
Id = 0,
Items = new List<OrderItem>() {
new OrderItem(){
OrderId=0,
Price=1,
ItemId=1
},
new OrderItem(){
CreateTime=DateTime.Now,
OrderId=0,
Price=2,
ItemId=2
}
}
})
.AddSubList(it => it.Items.First().OrderId).ExecuteCommand();
db.Insertable(new List<RootTable0>() {
new RootTable0()
{
Name="aa",
TwoItem2=new TwoItem2() {
Id="1",
ThreeItem2=new List<ThreeItem2>(){
new ThreeItem2(){ Name="a", TwoItem2Id="1" },
new ThreeItem2(){ Id=2, Name="a2", TwoItem2Id="2" }
}
},
TwoItem=new TwoItem()
{
Name ="itema" ,
RootId=2
},
TwoItem3=new List<TwoItem3>(){
new TwoItem3(){ Id=0, Name="a",Desc="" },
}
},
new RootTable0()
{
Name="bb",
TwoItem2=new TwoItem2() {
Id="2"
},
TwoItem=new TwoItem()
{
Name ="itemb" ,
RootId=2,
},
TwoItem3=new List<TwoItem3>(){
new TwoItem3(){ Id=1, Name="b",Desc="" },
new TwoItem3(){ Id=2, Name="b1",Desc="1" },
}
}
})
.AddSubList(it => it.TwoItem.RootId)
.AddSubList(it => new SubInsertTree()
{
Expression = it.TwoItem2.RootId,
ChildExpression = new List<SubInsertTree>() {
new SubInsertTree(){
Expression=it.TwoItem2.ThreeItem2.First().TwoItem2Id
}
}
})
.AddSubList(it => it.TwoItem3)
.ExecuteCommand();
db.Insertable(insertObj).With(SqlWith.UpdLock).ExecuteReturnSnowflakeId();
Console.WriteLine("#### Insertable End ####");
}
}

View File

@ -6,9 +6,10 @@ using System.Threading.Tasks;
namespace OrmTest
{
[SqlSugar.SugarTable("Custom_1")]
public class Custom
{
public int Id { get; set; }
public long Id { get; set; }
public string Name { get; set; }
}
}

View File

@ -6,19 +6,19 @@ using System.Text;
namespace OrmTest
{
[SugarTable("order_1")]
public class Order
{
//不支持自增和主键 (标识主键是用来更新用的)
[SugarColumn(IsPrimaryKey = true)]
public int Id { get; set; }
public long Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
// [SugarColumn(IsNullable = true,SqlParameterDbType =System.Data.DbType.Date)]
public DateTime CreateTime { get; set; }
[SugarColumn(IsNullable =true)]
public int CustomId { get; set; }
public long CustomId { get; set; }
[SugarColumn(IsIgnore = true)]
public List<OrderItem> Items { get; set; }
}

View File

@ -5,13 +5,13 @@ using System.Text;
namespace OrmTest
{
[SqlSugar.SugarTable("OrderDetail")]
[SqlSugar.SugarTable("OrderDetail_1")]
public class OrderItem
{
//不支持自增和主键 (标识主键是用来更新用的)
[SqlSugar.SugarColumn(IsPrimaryKey =true)]
public int ItemId { get; set; }
public int OrderId { get; set; }
public long ItemId { get; set; }
public long OrderId { get; set; }
public decimal? Price { get; set; }
[SqlSugar.SugarColumn(IsNullable = true)]
public DateTime? CreateTime { get; set; }

View File

@ -10,12 +10,9 @@ namespace OrmTest
public class Users
{
[SugarColumn(IsPrimaryKey = true)]
public long Sid { get; set; }
public int Id { get; set; }
public long Sid { get; set; }
[SqlSugar.SugarColumn(IsNullable = true)]
public DateTime? createtime { get; set; }
public DateTime createtime { get; set; }
public string username { get; set; }
public string password { get; set; }