mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-26 10:10:56 +08:00
Merge pull request #1980 from d4ilys/master
修复TDengine插入Datetime默认值查询异常
This commit is contained in:
@@ -4,7 +4,7 @@ using Xunit;
|
|||||||
|
|
||||||
namespace FreeSql.Tests.Provider.TDengine.TDengine.TDengineAdo
|
namespace FreeSql.Tests.Provider.TDengine.TDengine.TDengineAdo
|
||||||
{
|
{
|
||||||
public class TDengineAdoTest
|
public class TDengineCrudTest
|
||||||
{
|
{
|
||||||
IFreeSql fsql => g.tdengine;
|
IFreeSql fsql => g.tdengine;
|
||||||
|
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using FreeSql.DataAnnotations;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using Xunit.Abstractions;
|
||||||
|
|
||||||
|
namespace FreeSql.Tests.Provider.TDengine.TDengine.TDengineIssue
|
||||||
|
{
|
||||||
|
public class TDengineIssueTest
|
||||||
|
{
|
||||||
|
private IFreeSql _fsql;
|
||||||
|
private ITestOutputHelper _output;
|
||||||
|
|
||||||
|
public TDengineIssueTest(ITestOutputHelper output)
|
||||||
|
{
|
||||||
|
_fsql = g.tdengine;
|
||||||
|
_output = output;
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
void CodeFirst1977()
|
||||||
|
{
|
||||||
|
_fsql.CodeFirst.SyncStructure(typeof(TDengineProcessMetrics1977));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
void SelectTest1977()
|
||||||
|
{
|
||||||
|
var data = _fsql.Select<TDengineProcessMetrics1977>()
|
||||||
|
.ToList();
|
||||||
|
_output.WriteLine(JsonConvert.SerializeObject(data));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
void InsertTest1977()
|
||||||
|
{
|
||||||
|
var insertAffrows = _fsql.Insert(new TDengineProcessMetrics1977()
|
||||||
|
{
|
||||||
|
Timestamp = DateTime.Now,
|
||||||
|
HostName = "host6"
|
||||||
|
}
|
||||||
|
).ExecuteAffrows();
|
||||||
|
Assert.Equal(1, insertAffrows);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public class TDengineProcessMetrics1977
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 数据时间戳
|
||||||
|
/// </summary>
|
||||||
|
[Column(Name = "ts")]
|
||||||
|
public DateTime Timestamp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 主机名
|
||||||
|
/// </summary>
|
||||||
|
[Column(Name = "host_name")]
|
||||||
|
public string HostName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 进程启动时间
|
||||||
|
/// </summary>
|
||||||
|
[Column(Name = "start_time")]
|
||||||
|
public DateTime StartTime { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -43,6 +43,31 @@ namespace FreeSql.TDengine
|
|||||||
// e.ModifyResult.IsIgnore = true;
|
// e.ModifyResult.IsIgnore = true;
|
||||||
//};
|
//};
|
||||||
|
|
||||||
|
//TDengine 特殊处理:
|
||||||
|
this.Aop.AuditDataReader += (_, e) =>
|
||||||
|
{
|
||||||
|
var dataTypeName = e.DataReader.GetDataTypeName(e.Index);
|
||||||
|
switch (dataTypeName)
|
||||||
|
{
|
||||||
|
case "TIMESTAMP":
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var value = e.DataReader.GetValue(e.Index);
|
||||||
|
if (value != null)
|
||||||
|
e.Value = e.DataReader.GetDateTime(e.Index);
|
||||||
|
else
|
||||||
|
e.Value = null;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
e.Value = new DateTime();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
//处理参数化
|
//处理参数化
|
||||||
this.Aop.CommandBefore += (_, e) =>
|
this.Aop.CommandBefore += (_, e) =>
|
||||||
{
|
{
|
||||||
@@ -75,7 +100,8 @@ namespace FreeSql.TDengine
|
|||||||
|
|
||||||
public override IUpdate<T1> CreateUpdateProvider<T1>(object dywhere)
|
public override IUpdate<T1> CreateUpdateProvider<T1>(object dywhere)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException($"FreeSql.Provider.TDengine {CoreErrorStrings.S_Not_Implemented_Feature}");
|
throw new NotImplementedException(
|
||||||
|
$"FreeSql.Provider.TDengine {CoreErrorStrings.S_Not_Implemented_Feature}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public override IDelete<T1> CreateDeleteProvider<T1>(object dywhere)
|
public override IDelete<T1> CreateDeleteProvider<T1>(object dywhere)
|
||||||
@@ -85,7 +111,8 @@ namespace FreeSql.TDengine
|
|||||||
|
|
||||||
public override IInsertOrUpdate<T1> CreateInsertOrUpdateProvider<T1>()
|
public override IInsertOrUpdate<T1> CreateInsertOrUpdateProvider<T1>()
|
||||||
{
|
{
|
||||||
throw new NotImplementedException($"FreeSql.Provider.TDengine {CoreErrorStrings.S_Not_Implemented_Feature}");
|
throw new NotImplementedException(
|
||||||
|
$"FreeSql.Provider.TDengine {CoreErrorStrings.S_Not_Implemented_Feature}");
|
||||||
}
|
}
|
||||||
|
|
||||||
~TDengineProvider() => this.Dispose();
|
~TDengineProvider() => this.Dispose();
|
||||||
|
|||||||
Reference in New Issue
Block a user