.NET ORM 鉴别器 和 TDengine 使用 -SqlSugar

这篇具有很好参考价值的文章主要介绍了.NET ORM 鉴别器 和 TDengine 使用 -SqlSugar。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SqlSugar ORM

SqlSugar 是一款 老牌 .NET 开源多库架构ORM框架 ,一套代码能支持多种数据库像Admin.net、Blog.Core、CoreShop等知名开源项目都采用了SqlSugar作为底层

特色1:超级简单

在不用任何设计模式,任何框架的情况下都可以拥有最佳体验,SqlSugar做到了保姆一样的服务,直接用不需要学习

的框架,各种默认值都是最佳配置,用到什么看一下文档便可。

特色2:产品必备

可以一套代码支持所有主流数据库(包括国产数据库),成本要远低于EF Core, EF Core基本每个数据库都需要手动写

兼容代码 。 例如:建表、查询函数、索引 、修改表等等。 SqlSugar只需要一套代码就能支持多个数据库。支持

多库建表,多库修改表,多库索引,多库事务,多库查询,跨库查询,多库共存,多库切换等等。

 

一、鉴别器(Discrimator)

类似tdengine里面超级表概念, 他可以在一张表里面存储一个或者多个个性化字段,查询自动变成条件,并且插入更新都会自赋值进行存储

Discrimator ="Type:1"//字段名字可以随便取
Discrimator ="Type:1,Name:a" //可以多个字段,不要有空格等

用例

[SugarTable("Animal",IsDisabledDelete =true)]//创建表禁止删除列必须加
public class Animal
{
   [SugarColumn(IsIdentity =true,IsPrimaryKey =true)]
   public int AnimalId { get; set; }
   public string Name { get; set; }
}
[SugarTable("Animal",Discrimator ="Type:1", IsDisabledDelete = true)]//创建表禁止删除列必须加
public class Dog : Animal
{
  [SugarColumn(IsNullable =true)]//可空
  public int DogId { get; set; }
  [SugarColumn(IsNullable = true)]//可空
  public string Breed { get; set; }
}
[SugarTable("Animal", Discrimator = "Type:2", IsDisabledDelete = true)]//创建表禁止删除列必须加
public class Cat : Animal
{
  [SugarColumn(IsNullable = true)]//可空
  public int CatId { get; set; }
  [SugarColumn(IsNullable = true)]//可空
  public string Color { get; set; }
}

创建表

db.CodeFirst.InitTables<Animal,Dog, Cat>();//这个表包含所有字段,包括Type分类字段

查询和插入

var cat = new Cat { Name = "Whiskers", Color = "Gray" };
db.Insertable(cat).ExecuteCommand();//实体类中没有Type字段会自插入特性对应的Type=2


var catList=db.Queryable<Cat>().ToList();//自动加上条件Type=1
var dogList = db.Queryable<Dog>().ToList();//自动加上条件Type=2

更新操作

直接更新就行了Type会忽略更新

 

鉴别器导航

在导航应用也可以用使,他的优势就是实体中不需要这个字段,而缺点就是需要创建多个类

var dis=db.Queryable<UnitTestDis<Cat>>()
.Includes(x => x.Animals).ToList();//T是Cat那么就能导航Cat

var dis2 = db.Queryable<UnitTestDis<Dog>>()
.Includes(x => x.Animals).ToList();//T是Dog那么就能导航Dog


[SugarTable("UnitTestDis")]//泛型需要设置表名
public class UnitTestDis<T>
{
  [SugarColumn(IsPrimaryKey =true,IsIdentity =true)]
  public int Id { get; set; }
  public int Aid { get; set; }
  [Navigate(NavigateType.OneToMany,nameof(Animal.AnimalId),nameof(Aid))]
  public List<T> Animals { get; set; }
}

 

二、TDengine 数据库支持

TDengine——开源、高性能、云原生的时序数据库
TDengine 是一款开源、云原生的时序数据库,专为物联网、工业互联网、金融、IT 运维监控等场景设计并优化。它能让大量设备、数据采集器每天产生的高达 TB 甚至 PB 级的数据得到高效实时的处理,对业务的运行状态进行实时的监测、预警,从大数据中挖掘出商业价值。 

 

TDengine 连接字符串

Host=localhost;Port=6030;Username=root;Password=taosdata;Database=power

  

TDengine Nuegt安装

NUGET SDK需要下载和安装

https://docs.taosdata.com/connector/csharp/

下面是NUGET安装

SqlSugar.TDengineCore
SqlSugarCore

  

TDengine DEMO 源码

https://github.com/DotNetNext/SqlSugar

 SqlSugar下面准备要支持 mongodb 数据库,喜欢推荐一下,SqlSugar一直努力的创新和维护文章来源地址https://www.toymoban.com/news/detail-628285.html

到了这里,关于.NET ORM 鉴别器 和 TDengine 使用 -SqlSugar的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • .NET-4.ORM 常见框架EFcorn、Dapper、SqlSugar、FreeSql 和ADO.NET

    学习参考: 1. .NET 6教程,.Net Core 2022视频教程,杨中科主讲— 以及资料参考 2. 官方文档EF core 常用的语句 3..netmvc https://www.cnblogs.com/1016391912pm/p/12024671.html https://github.com/dotnet/EntityFramework.Docs/tree/main/samples/core/Querying/Overview 第一个EFCore应用 https://docs.microsoft.com/zh-cn/ef/core/modeli

    2024年02月04日
    浏览(32)
  • C# ORM模式之 SqlSugar使用

    一、SqlSugar介绍及分析 SqlSugar是一款 老牌 .NET 开源ORM框架,连接DB特别方便 支持数据库: MySql、SqlServer、Sqlite、Oracle 、 postgresql、达梦、人大金仓 官方文档:http://www.donet5.com/Home/Doc SqlSugar的优点: 1、高性能:不夸张的说,去掉Sql在数据库执行的时间,SqlSugar是EF数倍性能,另

    2023年04月08日
    浏览(31)
  • SqlSugar ORM 入门(简介和增删查改)

    背景 SqlSugar ORM是一个国产的,提供对象/关系映射(ORM)的库。 (ORM 是 Object Relational Mapping 的缩写,译为“对象关系映射”。 它解决了对象和关系型数据库之间的数据交互问题。                        使用面向对象编程时,数据很多时候都存储在对象里面,具体来说是

    2024年02月03日
    浏览(23)
  • ORM核心功能之导航属性- EFCore和 SqlSugar

    导航属性是作为.NET ORM核心功能中的核心,在SqlSugar没有支持导航属性前,都说只是一个高级DbHelper, 经过3年的SqlSugar重构已经拥有了一套 非常成熟的导航属性体系,本文不是重点讲SqlSugar而是重点讲导航属性的作用,让更多写Sql人还未使用ORM的人了解到ORM的作用。   用户根据

    2024年02月07日
    浏览(21)
  • c# 实现sql查询DataTable数据集 对接SqlSugar ORM

    有时候对于已经查询到的数据集,想要进行二次筛选或者查询,还得再查一遍数据库 或者其他的一些逻辑处理不太方便,就想着为什么不能直接使用sql来查询DataTable呢? 搜索全网没找到可用方案,所以自己实现了一个。 主要实现思路是使用 SQLite In-Memory Database 内存数据库,

    2024年02月12日
    浏览(28)
  • .NET6使用SqlSugar操作数据库

    1.//首先引入SqlSugarCore包 2.//新建SqlsugarSetup类 3.//在appsettings添加连接字符串 4.//在Program注入SqlsugarSetup类 5.//在方法中依赖注入 6.使用SqlSugar增删改查

    2024年02月13日
    浏览(25)
  • 【.net core】【sqlsugar】批量更新方法

     官方文档:单表更新、更新数据 - SqlSugar 5x - .NET果糖网 泛型类中增加

    2024年04月23日
    浏览(24)
  • 记一次 .Net+SqlSugar 查询超时的问题排查过程

    环境和版本:.Net 6 + SqlSuger 5.1.4.*   ,数据库是mysql 5.7 ,数据量在2000多条左右 业务是一个非常简单的查询,代码如下: tb_name 下配置了一对多的关系导航,但是执行时没有include导航属性,当执行上述代码时,查询非常慢,甚至会超时报错: The Command Timeout expired before the o

    2024年02月07日
    浏览(34)
  • .NET 主流 ORM 功能介绍 大全 最新

    ​ 下面是3款.NET 使用最多的ORM,来自公众号投票结果 ,数据比较真实可靠,也可去搜索公众号继续投票  2023年11月投票结果 测试项目 发布时间 微信公众号投票 (追逐时间光者) 使用难度 功能 性能 SqlSugar  orm 2014 26%  491票 适中 全 中高 EFCore   orm 2016 36%  663票 较难 全 中高

    2024年02月05日
    浏览(33)
  • .NET Core 引发的异常: “SqlSugar.SqlSugarException“ 位于 System.Private.CoreLib.dll 中

    在使用.NET Core开发应用程序时,有时候会遇到各种不同的异常情况。其中一种常见的异常是 “SqlSugar.SqlSugarException”。这个异常通常在与数据库交互的过程中出现,特别是在使用SqlSugar库时。 SqlSugar是一个流行的ORM(对象关系映射)框架,它简化了与数据库的交互操作。它提

    2024年02月04日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包