sqlserver

EFCore.Sharding(EFCore开源分表框架)

若如初见. 提交于 2020-04-22 00:56:39
EFCore.Sharding(EFCore开源分表框架) 简介 引言 开始 准备 配置 使用 按时间自动分表 性能测试 其它简单操作(非Sharing) 总结 简介 本框架旨在为EF Core提供 Sharding (即读写分离分库分表)支持,不仅提供了一套强大的普通数据操作接口,并且降低了分表难度,支持按时间自动分表扩容,提供的操作接口简洁统一. 源码地址: EFCore.SHarding 引言 读写分离分库分表一直是数据库领域中的重难点,当数据规模达到单库极限的时候,就不得不考虑分表方案。EF Core作为.NET Core中最为主流的ORM,用起来十分方便快捷,但是官方并没有相应的Sharding支持,鄙人不才,经过一番摸索之后终于完成这个框架. 开始 准备 首先根据需要安装对应的Nuget包 包名 说明 EFCore.Sharding 必装包,3.x版本对应EF Core3.x,2.x版本对应EF Core2.x EFCore.Sharding.MySql MySql支持 EFCore.Sharding.PostgreSql PostgreSql支持 EFCore.Sharding.SQLite SQLite支持 EFCore.Sharding.SqlServer SqlServer支持 EFCore.Sharding.Oracle Oracle支持(暂不支持3.x)

解决.net core3.1使用docker部署在Ubuntu上连接sqlserver报error:35的问题

回眸只為那壹抹淺笑 提交于 2020-04-21 05:53:50
最近把一个项目从core2.2迁移至core3.1,在本地win上跑没有问题,但是上线到生产Ubuntu docker环境下连接不上sqlserver报以下错误。 A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 - An internal exception was caught) stacktrace: at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection

解决.net core3.1使用docker部署在Ubuntu上连接sqlserver报error:35的问题

烈酒焚心 提交于 2020-04-20 13:02:51
最近把一个项目从core2.2迁移至core3.1,在本地win上跑没有问题,但是上线到生产Ubuntu docker环境下连接不上sqlserver报以下错误。 A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 - An internal exception was caught) stacktrace: at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection

一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具

↘锁芯ラ 提交于 2020-04-20 04:59:49
一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具 Intro DbTool 是一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具,原本是基于 dotnet framework WinForm 实现的,在 1.1.0 版本更新中使用 dotnet core 3.1 基于 WPF 重写了,并实现了一个简单的基于插件模式开发模式并引入了多语言的基础支持。 数据库当前支持 SqlServer 和 MySql,可以自己扩展其他类型数据库。 可以利用这个小工具生成数据库表对应的 Model,并且会判断数据表列是否可以为空,可以为空的情况下会使用可空的数据类型,如 int? , DateTime? ,如果数据库中有列描述信息,也会生成在属性名称上添加列描述的注释,支持导出多个表;可以导出到Excel,可以根据Excel字段文档生成Sql,数据库表误删除又没有备份的时候就很有帮助了,而且支持反向的根据生成的Model去生成创建数据库表的Sql(供参考)。 基本功能 功能一览 功能说明 DbFirst 导出数据库表到Model 设置数据库连接字符串,并连接数据库 设置导出 Model 选项 选择要导出 Model 的数据库表 导出 Model Model 设置选项说明: model的命名空间:生成的 model 所在的命名空间,默认为

ASP.NET Core MVC 网站学习笔记

泄露秘密 提交于 2020-04-20 03:53:27
ASP.NET Core MVC 网站学习笔记 魏刘宏 2020 年 2 月 17 日 最近因为” 新冠” 疫情在家办公,学习了 ASP.NET Core MVC 网站的一些知识,记录如下。 一、新建项目及基本结构 我们要新建的是 “ ASP.NET Core Web 应用程序” 类型的项目: 起名之后选择 .NET Core 分类下的 “ Web 应用程序 (模型视图控制器)” 模板,也就是 MVC 类型的模板,然后创建即可: 创建后结构如下图: wwwroot 存放网站的 js、css 等前端文件,Models 存放模型类,Views 存放视图文件,Controllers 存放控制器; appsettings.json 用于配置,比如可以在其中加入数据库连接字符串: Programs 是程序入口,实际的启动工作通过 Startup 来进行。 二、实体模型和 EF 框架 我们可以在 Models 文件夹下添加实体类,并给字段添加一些特性: using System; using System.ComponentModel; using System.ComponentModel.DataAnnotations; // 存放实体类 Entity namespace EasyBlog.Models { /// <summary> /// 用户表 /// </summary>

ASP.NET Core MVC入门——3

♀尐吖头ヾ 提交于 2020-04-19 21:19:42
https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/first-mvc-app/adding-model?view=aspnetcore-3.1&tabs=visual-studio 这一章节中,我们开始认识一下MVC中的M,也就是Model。 Entity Framework Core是微软提供给开发者的一个ORM框架,类似java中的MyBatis和Hibernate。将Plain Old CLR Objects(POCO)类可以直接转换为数据库中的增删改查的操作代码,减少重复开发代码量。 POCO 这种类是只有属性没有方法的类,纯粹表示数据,可以用于和数据库之间的映射。 EF Core库只要求我们写POCO类,然后该库就可以根据这些类自动在数据库中建立对应的表,以及相关的增删改查。 新建model Movie.cs using System; using System.ComponentModel.DataAnnotations; namespace MvcMovie.Models { public class Movie { public int Id { get; set; } public string Title { get; set; } [DataType(DataType.Date)] public

一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具

白昼怎懂夜的黑 提交于 2020-04-19 13:49:01
一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具 Intro DbTool 是一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具,原本是基于 dotnet framework WinForm 实现的,在 1.1.0 版本更新中使用 dotnet core 3.1 基于 WPF 重写了,并实现了一个简单的基于插件模式开发模式并引入了多语言的基础支持。 数据库当前支持 SqlServer 和 MySql,可以自己扩展其他类型数据库。 可以利用这个小工具生成数据库表对应的 Model,并且会判断数据表列是否可以为空,可以为空的情况下会使用可空的数据类型,如 int? , DateTime? ,如果数据库中有列描述信息,也会生成在属性名称上添加列描述的注释,支持导出多个表;可以导出到Excel,可以根据Excel字段文档生成Sql,数据库表误删除又没有备份的时候就很有帮助了,而且支持反向的根据生成的Model去生成创建数据库表的Sql(供参考)。 基本功能 功能一览 功能说明 DbFirst 导出数据库表到Model 设置数据库连接字符串,并连接数据库 设置导出 Model 选项 选择要导出 Model 的数据库表 导出 Model Model 设置选项说明: model的命名空间:生成的 model 所在的命名空间,默认为

2018开源中国最受欢迎的中国软件MyBatis-Plus

给你一囗甜甜゛ 提交于 2020-04-19 05:41:53
2018开源中国最受欢迎的中国软件MyBatis-Plus 官方网址: https://mp.baomidou.com 中国软件,中文文档 什么是MyBatis-Plus? 进入官方第一句话:为简化开发而生 ; 只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。 只需简单配置,即可快速进行 CRUD 操作,从而节省大量时间。 丰富功能:热加载、代码生成、分页、性能分析等功能一应俱全。 我愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。 特性 无侵入 :只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小 :启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作 :内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用 :通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错 支持多种数据库 :支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer2005、SQLServer 等多种数据库 支持主键自动生成 :支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence)

【原创】基于.NET的轻量级高性能 ORM

拟墨画扇 提交于 2020-04-18 08:45:07
【前言】   接上一篇《 【原创】打造基于Dapper的数据访问层 》,Dapper在应付多表自由关联、分组查询、匿名查询等应用场景时不免显得吃力,经常要手写SQL语句(或者用工具生成SQL配置文件)。试想一下,项目中整个DAL层都塞满了SQL语句,对于后期维护来说无异于天灾人祸,这个坑谁踩谁知道。本框架在API设计上最大程度地借鉴 EntityFramework 的写法,干净的实体,丝滑的增删改查,稳健的导航属性,另外还支持链式查询(点标记)、查询表达式、聚合查询等等。在实体映射转换层面,使用 Emit 来动态构建绑定指令,性能最大限度地接近原生水平。 【XFramework 亮点】 原生.NET语法,零学习成本 支持LINQ查询、拉姆达表达式 支持批量增删改查和多表关联更新 支持 SqlServer、MySql、Postgre、Oracle,.NET Core 最大亮点,真正支持一对一、一对多导航属性。这一点相信现有开源的ORM没几个敢说它支持的 实体字段类型不必与数据库的类型一致 支持临时表、表变量操作 提供原生ADO操作 其它更多亮点,用了你就会知道 【性能】      看看与EntityFramework的性能对比,机器配置不同跑出来的结果可能也不一样,仅供参考。需要特别说明的是EntityFramework是用了AsNoTracking的

.NET ORM 开源项目 FreeSql 1.0 正式版发布

六月ゝ 毕业季﹏ 提交于 2020-04-18 03:44:28
一、简介 FreeSql 是 .NET 平台下的对象关系映射技术(O/RM),支持 .NetCore 2.1+ 或 .NetFramework 4.0+ 或 Xamarin。 从 0.0.1 发布,历时整整一年的迭代更新,原计划元旦发布1.0,可能作者比较急提前了几天发布。其实是元旦有其他事…… 本文内容从简,介绍项目的主要功能框架,以及暂时能想到的可能比较有说服力的特性。 二、项目统计 主仓库解决方案共计项目:29个 单元测试:3510个 Code Issues:168个 文档Wiki:43个 Stars:1140 Forks:236 Commits:690次 Nuget主包下载量:86,568次 开源地址: https://github.com/2881099/FreeSql 三、功能结构 支持 CodeFirst 迁移,哪怕使用 Access 数据库也支持; 支持 DbFirst 从数据库导入实体类; 支持 深入的类型映射,比如pgsql的数组类型; 支持 丰富的表达式函数,以及灵活的自定义解析; 支持 导航属性一对多、多对多贪婪加载,以及延时加载; 支持 读写分离、分表分库,租户设计,过滤器,乐观锁,悲观锁; 支持 MySql/SqlServer/PostgreSQL/Oracle/Sqlite/达梦数据库/Access; 四、CodeFirst/DbFirst 一切皆