.net mysql 类库_(精华)2020年6月27日 C#类库 MySqlHelper(Ado.net数据库封装)
using EFCore.Sharding;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data.Common;
namespace Core.Util
{
///
/// MySql数据库操作帮助类
///
public class MySqlHelper : DbHelper
{
#region 构造函数
///
/// 构造函数
///
/// 完整连接字符串
public MySqlHelper(string conString)
: base(DatabaseType.MySql, conString)
{
}
#endregion
#region 私有成员
protected override Dictionary DbTypeDic { get; } = new Dictionary
{
{ "boolean",typeof(bool)},
{ "bit(1)",typeof(bool)},
{ "tinyint unsigned",typeof(bool)},
{ "binary",typeof(byte[])},
{ "varbinary",typeof(byte[])},
{ "blob",typeof(byte[])},
{ "longblob",typeof(byte[])},
{ "datetime",typeof(DateTime)},
{ "double",typeof(double)},
{ "char(36)",typeof(Guid)},
{ "smallint",typeof(Int16)},
{ "int",typeof(Int32)},
{ "bigint",typeof(Int64)},
{ "tinyint",typeof(bool)},
{ "float",typeof(float)},
{ "decimal",typeof(decimal)},
{ "char",typeof(string)},
{ "varchar",typeof(string)},
{ "text",typeof(string)},
{ "longtext",typeof(string)},
{ "time",typeof(TimeSpan)}
};
#endregion
#region 外部接口
///
/// 获取数据库中的所有表
///
/// 模式(架构)
///
public override List GetDbAllTables(string schemaName = null)
{
DbProviderFactory dbProviderFactory = DbProviderFactoryHelper.GetDbProviderFactory(_dbType);
string dbName = string.Empty;
using (DbConnection conn = dbProviderFactory.CreateConnection())
{
conn.ConnectionString = _conString;
dbName = conn.Database;
}
string sql = @"SELECT TABLE_NAME as TableName,table_comment as Description
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = @dbName";
return GetListBySql(sql, new List { new MySqlParameter("@dbName", dbName) });
}
///
/// 通过连接字符串和表名获取数据库表的信息
///
/// 表名
///
public override List GetDbTableInfo(string tableName)
{
DbProviderFactory dbProviderFactory = DbProviderFactoryHelper.GetDbProviderFactory(_dbType);
string dbName = string.Empty;
using (DbConnection conn = dbProviderFactory.CreateConnection())
{
conn.ConnectionString = _conString;
dbName = conn.Database;
}
string sql = @"select DISTINCT
a.COLUMN_NAME as Name,
a.DATA_TYPE as Type,
(a.COLUMN_KEY = 'PRI') as IsKey,
(a.IS_NULLABLE = 'YES') as IsNullable,
a.COLUMN_COMMENT as Description,
a.ORDINAL_POSITION
from information_schema.columns a
where table_name=@tableName and table_schema=@dbName
ORDER BY a.ORDINAL_POSITION";
return GetListBySql(sql, new List { new MySqlParameter("@tableName", tableName), new MySqlParameter("@dbName", dbName) });
}
///
/// 生成实体文件
///
/// 表字段信息
/// 表名
/// 表描述信息
/// 文件路径(包含文件名)
/// 实体命名空间
/// 架构(模式)名
public override void SaveEntityToFile(List infos, string tableName, string tableDescription, string filePath, string nameSpace, string schemaName = null)
{
base.SaveEntityToFile(infos, tableName, tableDescription, filePath, nameSpace, schemaName);
}
#endregion
}
}
.net mysql 类库_(精华)2020年6月27日 C#类库 MySqlHelper(Ado.net数据库封装)相关推荐
- (精华)2020年6月26日 C#类库 百度api发送短信验证码帮助类
using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; u ...
- (精华2020年6月9日更新)Angular实战篇 axio的封装
首先先建个axio服务 ng g service 文件目录 ts文件 import { Injectable } from '@angular/core'; import axios from 'ax ...
- 【财经期刊FM-Radio|2020年10月27日】
[财经期刊FM-Radio|2020年10月27日] 微信公众号: 张良信息咨询服务工作室 [今日热点新闻一览↓↓] 美股创两个月最大跌幅,欧股一个月新低,中概电商股优于大盘,美债两周最大涨幅. 美国 ...
- 重装战姬服务器维护,重装战姬2020年2月27日更新维护公告 重装战姬2020年2月27日更新了什么-Appfound...
在重装战姬手游中2020年2月27日究竟更新了什么呢?具体更新内容又有哪些呢?感兴趣的小伙伴们接下来就让我们一起来看一下吧~! 亲爱的各位团长: 我们将于以下时间,对全平台服务器实施维护,并通过在线更 ...
- (精华)2020年7月8日 Node.js mysql的使用
MYSQL数据库命令 操作之前应连接某个数据库 1.建表 命令:create table <表名> ( <字段名> <类型> [,-<字段名n> < ...
- (精华)2020年9月10日 LINQ框架 手写LINQ框架(一:LINQ的由来)
1.LINQ简述 LINQ简称语言集成查询,设计的目的是为了解决在.NET平台上进行统一的数据查询. 微软最初的设计目的是为了解决对象/关系映射的解决方案,通过简单的使用类似T-SQL的语法进行数据实 ...
- (精华)2020年8月7日 微信小程序 直播功能的实现
一:小程序代码端 小程序直播使用小程序组件 live-pusher 组件和live-player组件 首先开通直播权限 小程序开发工具内进行推流拉流都不会成功,所以需要使用两个手机进行推拉流测试: 1 ...
- (精华)2020年10月7日 高并发高可用 Redis实现异步架构
前言 在后端编程时,对需要立即返回的数据我们应当立刻返回,而对于可以慢慢处理而业务复杂的我们可以选择延迟返回.这个实现使用到了异步消息队列. 异步消息队列 主要用于实现生产者-消费者模式.也就是说,这 ...
- (精华)2020年8月22日 ABP vNext Web应用ABP
现在我们开始创建基于RazorPage的web应用.在解决方案中添加新的Asp.Net Core Web应用项目,名称为ZL.AbpNext.Poem.Web,然后安装volo.Abp.AspNetC ...
最新文章
- R语言使用tidyquant包的tq_transmute函数计算持有某只股票的天、月、周收益率、ggplot2使用条形图(bar plot)可视化股票年收益率数据使用不同的色彩表征正收益率和负收益率
- 狂风暴雨——电闪雷鸣篇:数据流层核心思想揭秘
- python编程软件开发_Python编程对软件开发人员很重要?
- Java程序运行纳秒级差值计算
- 接口访问次数_如何基于spring开发自定义注解实现对接口访问频次限制?
- 使用ByteArrayOutputStream解决IO乱码问题的踩坑记录
- 2014/08/31 Zushi
- 【元胞自动机】基于matlab元胞自动机超车换道【含Matlab源码 359期】
- java rni_Java面试总结
- RS485转USB插电脑上通讯不上
- 彻底卸载Android Studio
- DBA 小记 — 分库分表、主从、读写分离
- Python科学绘图 南丁格尔图/玫瑰图
- 网传腾讯大规模裁员测试工程师,腾讯相关人员否认
- Java中修饰变量和方法的关键字总结分析
- 失意时,要耐得住寂寞
- Xcode各种运行报错及解决方法
- 2007年教育技术学专业硕士点招生简章
- AT指令(中文详解版)(一)
- r5处理器_R5-4600H和i5-10400差距多大?
热门文章
- F5打造“感知可控,随需而变的应用” 助力企业实现非凡数字体验
- 活动预告 | 2020移动云客户高端峰会即将揭幕,邀您一起携手云端!
- 5G +边缘计算,优酷如何做云渲染?
- 腾讯云全面更新数据智能服务全景图!
- Spark+Alluxio性能调优十大技巧
- python语言sort_Python里的sort语句
- 使用Jenkins搭建自动化测试环境_环境准备_入门试炼01
- 单线程与多线程的区别
- python-小数点保留位数问题
- oracle us7ascii 中文,US7ASCII字符集中汉字显示问题