mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-06 16:30:52 +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
|
||||
{
|
||||
public class TDengineAdoTest
|
||||
public class TDengineCrudTest
|
||||
{
|
||||
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;
|
||||
//};
|
||||
|
||||
//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) =>
|
||||
{
|
||||
@@ -75,7 +100,8 @@ namespace FreeSql.TDengine
|
||||
|
||||
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)
|
||||
@@ -85,7 +111,8 @@ namespace FreeSql.TDengine
|
||||
|
||||
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();
|
||||
|
||||
Reference in New Issue
Block a user