dbconnection

EF Core 拓展SqlQuery方法

扶醉桌前 提交于 2021-02-18 08:01:31
public static IEnumerable<T> SqlQuery<T>(this DatabaseFacade facade, string sql, params object[] parameters) where T : class, new() { DataTable dt = SqlQuery(facade, sql, parameters); return dt.ToEnumerable<T>(); } public static IEnumerable<T> ToEnumerable<T>(this DataTable dt) where T : class, new() { PropertyInfo[] propertyInfos = typeof(T).GetProperties(); T[] ts = new T[dt.Rows.Count]; int i = 0; foreach (DataRow row in dt.Rows) { T t = new T(); foreach (PropertyInfo p in propertyInfos) { if (dt.Columns.IndexOf(p.Name) != -1 && row[p.Name] != DBNull.Value) p.SetValue(t, row[p.Name], null);

.net连接mysql

坚强是说给别人听的谎言 提交于 2021-02-12 07:16:01
首先在官网下载,mysql-connect-net,用于使用mysql的驱动程序,我在下载mysql-connect-net.msi. installer后,执行安装程序的时候一直无法安装成功,最简单的方法是直接下载.zip文件后解压,无须安装。 官网地址:http://dev.mysql.com/downloads/file/?id=463757 解压文件后, 出现了好几个文件夹,其中有v4和v4.5两个文件夹,对应vs的不同版本 VS2010使用V4.0下的dll文件 VS2012/2013/2015使用v4.5下的dll文件 其中有一个帮助手册十分有用: Documentation文件夹下的ConnectorNET.chm中包含了连接mysql数据库的API。 MySqlConnection类用来连接数据库 Constructor: 构造函数 MySqlConnection(String) Initializes a new instance of the MySqlConnection class when given a string containing the connection string. methods: 打开数据库 Open Opens a database connection with the property settings specified

Problem with Db connection testing in java

廉价感情. 提交于 2021-02-11 12:40:13
问题 I tried to testing my Dao class but it return this error for the class DbConnection: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or in an application resource file: java.naming.factory.initial at java.naming/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:691) at java.naming/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305) at java.naming/javax.naming.InitialContext.getURLOrDefaultInitCtx

VS 2019 and MySQL Entity Framework duplicate database name

吃可爱长大的小学妹 提交于 2021-01-05 08:55:52
问题 I added Entity Framework to my project but I call the toList() method and I'm getting an error: okuldbEntities ent = new okuldbEntities(); private void Form1_Load(object sender, EventArgs e) { dataGridView1.DataSource = ent.ogrenciler.ToList(); } and this is the error: This exception was originally thrown at this call stack: [External Code] Inner Exception 1: MySqlException: Table ' okuldb.okuldb .ogrenciler' doesn't exist okuldb is my database name and I didn't find why it added it twice. I

ABP框架迁移到Mysql

谁说胖子不能爱 提交于 2020-12-19 12:37:29
ABP框架 .NetCore3.x版本 1.首先找到xxx.Core 项目,添加引用Microsoft.EntityFrameworkCore.Tools 2.找到xxx.EntityFrameworkCore项目,将原有sqlserver的引用改为mysql引用 3. 找到Host项目中的配置文件,将连接字符串改为Mysql的连接字符串 4.找到xxx.EntityFrameworkCore项目中的xxxDbContextConfigurer文件, 将源文件按一下方式修改: public static void Configure(DbContextOptionsBuilder<VisualizationYunweiDbContext> builder, string connectionString) { //builder.UseSqlServer(connectionString); builder.UseMySql(connectionString); } public static void Configure(DbContextOptionsBuilder<VisualizationYunweiDbContext> builder, DbConnection connection) { //builder.UseSqlServer(connection);

EF Core中执行Sql语句查询操作之FromSql,ExecuteSqlCommand,SqlQuery

点点圈 提交于 2020-10-19 09:29:14
参考博客《成功解决了我的问题,我是mySQL》: EF Core中执行Sql语句查询操作之FromSql,ExecuteSqlCommand,SqlQuery 代码如下: public static class DbContextExtensions { private static void CombineParams( ref DbCommand command, params object [] parameters) { if (parameters != null ) { foreach (SqlParameter parameter in parameters) { if (!parameter.ParameterName.Contains( " @ " )) parameter.ParameterName = $ " @{parameter.ParameterName} " ; command.Parameters.Add(parameter); } } } private static DbCommand CreateCommand(DatabaseFacade facade, string sql, out DbConnection dbConn, params object [] parameters) { DbConnection conn = facade

.netCore 引用第三方ORM中间件-Dapper

夙愿已清 提交于 2020-10-17 09:04:57
十年河东,十年河西,莫欺少年穷 学无止境,精益求精 可恶的NetCore对DataTable支持的不好,这对于喜欢直接写SQL的童鞋来说非常难受,因此,在NetCore项目中有必要引入优秀的第三方数据库中间件,目前市场上比较优秀的第三方EF框架有很多,例如: Sqlsugar 、 Dapper 、 FreeSql 等,当然,微软也有自己的一套EF框架,EntityFrm 和 EfCore,就效率而言,第三方的框架要完胜微软的EF框架,真不知道微软是干啥吃的、 今天,我们使用Dapper这个轻量级的第三方EF框架。 1.安装Dapper   这里直接使用Nuget安装。 安装完成后,我们需要对Dapper进行扩展,如下: using Microsoft.Extensions.Configuration; using System; using System.Data; using System.Data.SqlClient; using WuAnCommon; namespace WuAnSqlService { public class DapperHelper { /// 获取连接字符串 private static string Connection= ConfigCommon.Get( " WuAnDBContext " ); /// 返回连接实例 private

.net core grpc单元测试

妖精的绣舞 提交于 2020-10-02 11:26:47
前言 gRPC凭借其严谨的接口定义、高效的传输效率、多样的调用方式等优点,在微服务开发方面占据了一席之地。dotnet core正式支持gRPC也有一段时间了,官方文档也对如何使用gRPC进行了比较详细的说明,但是关于如何对gRPC的服务器和客户端进行单元测试,却没有描述。经过查阅官方代码,找到了一些解决方法,总结在此,供大家参考。 本文重点介绍gRPC服务器端代码的单元测试,包括普通调用、服务器端流、客户端流等调用方式的单元测试,另外,引入sqlite的内存数据库模式,对数据库相关操作进行测试。 准备gRPC服务端项目 使用dotnet new grpc命令创建一个gRPC服务器项目。 修改protos/greeter.proto, 添加两个接口方法: // 服务器流 rpc SayHellos (HelloRequest) returns (stream HelloReply); // 客户端流 rpc Sum (stream HelloRequest) returns (HelloReply); 在GreeterService中添加方法的实现: using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Grpc.Core;

C# 数据操作系列

☆樱花仙子☆ 提交于 2020-08-20 07:00:15
C# 数据操作系列 - 11 NHibernate 配置和结构介绍 前言 今天是NHibernate的第二篇内容,通过上一篇的内容,我们初步了解了NHibernate的创建和使用。这一篇,我继续探索NHibernate背后的秘密。嗯,就是这样。 NHibernate结构 先给小伙伴们放个图: 这是NHibernate的整体结构图。NHibernate通过ADO.NET 建立访问数据库的连接,然后封装了一个Transaction(事务)工厂和一个Session工厂。每次操作的时候,通过两个工厂获取对应的Session/Transaction示例操作数据对象。 ISessionFactory - NHibernate.ISessionFactory: 一个基于单数据库的已编译的映射缓存,它是持久不变的且线程安全(额,这句话是从它的文档翻译过来的)。是一个提供ISession的工厂类,同时也是一个 IConnectionProvider的客户端。可以设置一个在事务之间的进程级或集群级的二级缓存。 ISession - NHibernate.ISession: 一个单线程、短生命周期的对象,表示从应用程序和数据持久化之间一个连接。一个ADO.NET连接的封装,用来提供ITransaction的工厂。提供了一个通过主键检索对象和导航链接查询对象时的一级缓存。也就是EF Core中的导航属性。

SOLID:面向对象设计的前五项原则

ぐ巨炮叔叔 提交于 2020-08-11 08:18:49
S.O.L.I.D 是Robert C. Martin提出的 前五个面向对象设计 ( OOD ) 原则的首字母缩写, 他更为人所熟知的名字是Uncle Bob。 将这些原理结合在一起,可使程序员轻松开发易于维护和扩展的软件。它们还使开发人员可以轻松避免代码异味,轻松重构代码,并且是敏捷或自适应软件开发的一部分。 注意 : 这只是一篇简单的“欢迎使用_ S.O.L.I.D ”,它只是 阐明 了 S.O.L.I.D 是什么.。 更多学习内容可以访问 从码农成为架构师的修炼之路 S.O.L.I.D代表: 首字母缩略词在扩展时可能看起来很复杂,但是却很容易掌握。 S - 单一责任原则 O - 开闭原理 L - Liskov替代原理 I - 接口隔离原理 D - 依赖倒置原则 让我们分别看一下每个原理,了解一下S.O.L.I.D为什么可以帮助使我们成为更好的开发人员。 单一责任原则 SRP 的简称-此原则指出: 一个类有且只能有一个因素使其改变,意思是一个类只应该有单一职责. 例如,假设我们有一些形状,我们想对形状的所有区域求和。好吧,这很简单对吧? class Circle { public $radius ; public function construct( $radius ) { $this ->radius = $radius ; } } class Square {