TDengine 時序數據庫的 ADO.Net Core 提供程序 Maikebing.EntityFrameworkCore.Taos

 

簡介

Entity, Framework, EF, Core, Data, O/RM, entity-framework-core,TDenginegit

Maikebing.Data.Taos 是一個基於TDengine 的RESTful Connector構建的ADO.Net 提供器。 這將容許你經過.Net Core 訪問TDengine數據庫。github

Maikebing.EntityFrameworkCore.Taos 是一個Entity Framework Core 的提供器, 基於Maikebing.Data.Taos構建。 此功能還沒有開發完成, 暫時誤做使用。sql

 

安裝使用:

Install-Package Maikebing.Data.Taos -Version 1.0.0數據庫

Maikebing.Data.Taos 使用範例

///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:mm:ss.ms")}', 10);").ExecuteNonQuery()); Console.WriteLine("insert into t values {0} ", connection.CreateCommand($"insert into {database}.t values ('{DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd HH:mm:ss.ms")}', 20);").ExecuteNonQuery()); var cmd_select = connection.CreateCommand(); cmd_select.CommandText = $"select * from {database}.t"; var reader = cmd_select.ExecuteReader(); Console.WriteLine(cmd_select.CommandText); Console.WriteLine(""); ConsoleTableBuilder.From(reader.ToDataTable()).WithFormat(ConsoleTableBuilderFormat.MarkDown).ExportAndWriteLine(); Console.WriteLine(""); Console.WriteLine("DROP TABLE {0} {1}", database, connection.CreateCommand($"DROP TABLE {database}.t;").ExecuteNonQuery()); Console.WriteLine("DROP DATABASE {0} {1}", database, connection.CreateCommand($"DROP DATABASE {database};").ExecuteNonQuery()); connection.Close(); } //Example for Entity Framework Core using (var context = new TaosContext(new DbContextOptionsBuilder() .UseTaos(builder.ConnectionString).Options)) { Console.WriteLine("EnsureCreated"); context.Database.EnsureCreated(); for (int i = 0; i < 10; i++) { var rd = new Random(); context.sensor.Add(new sensor() { ts = DateTime.Now.AddMilliseconds(i), degree = rd.NextDouble(), pm25 = rd.Next(0, 1000) }); } Console.WriteLine("Saveing"); context.SaveChanges(); Console.WriteLine(""); Console.WriteLine("from s in context.sensor where s.pm25 > 0 select s "); Console.WriteLine(""); var f = from s in context.sensor where s.pm25 > 0 select s; var ary = f.ToArray(); ConsoleTableBuilder.From(ary.ToList()).WithFormat(ConsoleTableBuilderFormat.MarkDown).ExportAndWriteLine(); context.Database.EnsureDeleted(); } Console.WriteLine(""); Console.WriteLine("Pass any key to exit...."); Console.ReadKey();
相關文章
相關標籤/搜索