mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-03-27 08:20:55 +08:00
增加TDengine单元测试
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using FreeSql.Tests.Provider.TDengine.TDengine.Tables;
|
||||
using Xunit;
|
||||
|
||||
namespace FreeSql.Tests.Provider.TDengine.TDengine.TDengineAdo
|
||||
@@ -8,10 +9,96 @@ namespace FreeSql.Tests.Provider.TDengine.TDengine.TDengineAdo
|
||||
IFreeSql fsql => g.tdengine;
|
||||
|
||||
[Fact]
|
||||
public void AuditValue()
|
||||
void CodeFirstTest()
|
||||
{
|
||||
var executeConnectTest = fsql.Ado.ExecuteConnectTest();
|
||||
fsql.CodeFirst.SyncStructure<D1001>();
|
||||
fsql.CodeFirst.SyncStructure<D1002>();
|
||||
fsql.CodeFirst.SyncStructure<Users>();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
void InsertTest()
|
||||
{
|
||||
var insertAffrows = fsql.Insert(new D1001()
|
||||
{
|
||||
Ts = DateTime.Now,
|
||||
Current = 1,
|
||||
Voltage = 1,
|
||||
Describe = "D10021"
|
||||
}
|
||||
).ExecuteAffrows();
|
||||
|
||||
var insertAffrows2 = fsql.Insert(new D1001()
|
||||
{
|
||||
Ts = DateTime.Now,
|
||||
Current = 1,
|
||||
Voltage = 1,
|
||||
Describe = "D10021"
|
||||
}
|
||||
).ExecuteAffrows();
|
||||
|
||||
var batchInsertAffrows = fsql.Insert(new List<D1002>()
|
||||
{
|
||||
new D1002()
|
||||
{
|
||||
Ts = DateTime.Now,
|
||||
Current = 6,
|
||||
Voltage = 6,
|
||||
Describe = "D10026"
|
||||
},
|
||||
new D1002()
|
||||
{
|
||||
Ts = DateTime.Now,
|
||||
Current = 3,
|
||||
Voltage = 3,
|
||||
Describe = "D10023"
|
||||
},
|
||||
new D1002()
|
||||
{
|
||||
Ts = DateTime.Now,
|
||||
Current = 4,
|
||||
Voltage = 4,
|
||||
Describe = "D10024"
|
||||
}
|
||||
}
|
||||
).ExecuteAffrows();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
void SelectTest()
|
||||
{
|
||||
var subList = fsql.Select<D1001>().ToList(d => new
|
||||
{
|
||||
GroupId = d.GroupId
|
||||
});
|
||||
|
||||
var superMetersList = fsql.Select<Meters>().ToList();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
void WhereSelectTest()
|
||||
{
|
||||
var list = fsql.Select<Meters>().Where(d => d.GroupId == 2).ToList();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
void DeleteTest()
|
||||
{
|
||||
var startTime = DateTime.Parse("2024-11-30T02:33:52.308+00:00");
|
||||
var endTime = DateTime.Parse("2024-11-30T02:40:58.961+00:00");
|
||||
var executeAffrows = fsql.Delete<Meters>()
|
||||
.Where(meters => meters.Ts >= startTime && meters.Ts <= endTime && meters.GroupId == 1)
|
||||
.ExecuteAffrows();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
void DbFirst_GetDatabases()
|
||||
{
|
||||
var databases = fsql.DbFirst.GetDatabases();
|
||||
foreach (var database in databases)
|
||||
{
|
||||
Console.WriteLine(database);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using FreeSql.DataAnnotations;
|
||||
using FreeSql.Provider.TDengine.Attributes;
|
||||
|
||||
namespace FreeSql.Tests.Provider.TDengine.TDengine.Tables
|
||||
{
|
||||
[TDengineSuperTable(Name = "meters")]
|
||||
public class Meters
|
||||
{
|
||||
[Column(Name = "ts")]
|
||||
public DateTime Ts { get; set; }
|
||||
|
||||
[Column(Name = "current")]
|
||||
public float Current { get; set; }
|
||||
|
||||
[Column(Name = "voltage")]
|
||||
public int Voltage { get; set; }
|
||||
|
||||
[Column(Name = "describe", StringLength = 50)]
|
||||
public string? Describe { get; set; }
|
||||
|
||||
[TDengineTag(Name = "location")]
|
||||
public virtual string? Location { get; set; }
|
||||
|
||||
[TDengineTag(Name = "group_id")]
|
||||
public virtual int GroupId { get; set; }
|
||||
}
|
||||
|
||||
[TDengineSubTable(SuperTableName = "meters", Name = "d1001")]
|
||||
public class D1001 : Meters
|
||||
{
|
||||
[TDengineTag(Name = "location")]
|
||||
public override string Location { get; set; } = "BeiJIng.ChaoYang";
|
||||
|
||||
[TDengineTag(Name = "group_id")]
|
||||
public override int GroupId { get; set; } = 1;
|
||||
}
|
||||
|
||||
[TDengineSubTable(SuperTableName = "meters", Name = "d1002")]
|
||||
public class D1002 : Meters
|
||||
{
|
||||
[TDengineTag(Name = "location")]
|
||||
public new string Location { get; set; } = "California.SanFrancisco";
|
||||
|
||||
[TDengineTag(Name = "group_id")]
|
||||
public new int GroupId { get; set; } = 2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using FreeSql.DataAnnotations;
|
||||
|
||||
namespace FreeSql.Tests.Provider.TDengine.TDengine.Tables
|
||||
{
|
||||
[Table(Name = "users")]
|
||||
public class Users
|
||||
{
|
||||
[Column(Name = "ts")]
|
||||
public DateTime Ts { get; set; }
|
||||
|
||||
[Column(Name = "id")]
|
||||
public float Id { get; set; }
|
||||
|
||||
[Column(Name = "address")]
|
||||
public int Address { get; set; }
|
||||
|
||||
[Column(Name = "name", StringLength = 20)]
|
||||
public string? Name { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -12,18 +12,13 @@ namespace FreeSql.Tests.Provider.TDengine
|
||||
{
|
||||
private static readonly Lazy<IFreeSql> tdengineLazy = new Lazy<IFreeSql>(() =>
|
||||
{
|
||||
var fsql = new FreeSql.FreeSqlBuilder()
|
||||
var fsql = new FreeSql.FreeSqlBuilder()
|
||||
.UseConnectionString(FreeSql.DataType.TDengine,
|
||||
"host=localhost;port=6030;username=root;password=taosdata;protocol=Native;db=test;")
|
||||
.UseAutoSyncStructure(true)
|
||||
.UseNameConvert(Internal.NameConvertType.ToLower)
|
||||
.UseMonitorCommand(
|
||||
cmd => Trace.WriteLine("\r\n线程" + Thread.CurrentThread.ManagedThreadId + ": " +
|
||||
cmd.CommandText) //监听SQL命令对象,在执行前
|
||||
//, (cmd, traceLog) => Console.WriteLine(traceLog)
|
||||
)
|
||||
.UseMonitorCommand(cmd => Console.WriteLine($"Sql:{cmd.CommandText}\r\n"))
|
||||
.UseNoneCommandParameter(true)
|
||||
.Build();
|
||||
return fsql;
|
||||
return fsql;
|
||||
});
|
||||
|
||||
public static IFreeSql tdengine => tdengineLazy.Value;
|
||||
|
||||
Reference in New Issue
Block a user