Maikebing.Data.Taos 是一個基於TDengine 的RESTful Connector構建的ADO.Net 提供程序。 它這將允許你通過.Net Core 訪問TDengine資料庫。Maikebing.EntityFrameworkCore.Taos 是一個TDengine 的 Entity Framework Core 的提供程序,用於你在使用EFCore訪問TDengine,由於官方沒有提供任何已編譯可供Linux、Windows、MacOS的C++ Connector,要實現.Net Core 橫跨三平台需要研讀C++ Connector代碼並在三個平台下進行測試。 與此同時又需要閱讀ADO.Net 和EFCore 框架的代碼, 壓力巨大,因此我先使用 RESTful Connector 等官方發布三平台下經過測試的動態庫后再重寫ADO.Net,或者當我有時間拜讀TDengine代碼時可以考慮重寫。
Maikebing.EntityFrameworkCore.Taos 1.0.13 現在已經發布,對Entity Framework Core 的實現已經完成, 另外, 你需要注意的是 , 這是一個時序資料庫,不是關係型資料庫,有很多關係型需求是會報錯的,比如,按照官方要求 第一個欄位必須是日期。
下面是最新版本的示例:
///Specify the name of the database
string database = "db_" + DateTime.Now.ToString("yyyyMMddHHmmss");
var builder = new TaosConnectionStringBuilder()
{
DataSource = "http://td.gitclub.cn/rest/sql",
DataBase = database,
Username = "root",
Password = "taosdata"
};
//Example for ADO.Net
using (var connection = new TaosConnection(builder.ConnectionString))
{
connection.Open();
Console.WriteLine("create {0} {1}", database, connection.CreateCommand($"create database {database};").ExecuteNonQuery());
Console.WriteLine("create table t {0} {1}", database, connection.CreateCommand($"create table {database}.t (ts timestamp, cdata int);").ExecuteNonQuery());
Console.WriteLine("insert into t values {0} ", connection.CreateCommand($"insert into {database}.t values ('{DateTime.Now.ToString("yyyy-MM-dd HH
[admin
]