Giter Site home page Giter Site logo

hasongit / mysqlconnector Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mysql-net/mysqlconnector

0.0 1.0 0.0 3.21 MB

Async MySQL Connector for .NET and .NET Core

Home Page: https://mysql-net.github.io/MySqlConnector/

License: MIT License

Shell 0.48% Batchfile 0.08% PowerShell 0.25% C# 99.19%

mysqlconnector's Introduction

Async MySQL Connector for .NET and .NET Core

This is an ADO.NET data provider for MySQL. It provides implementations of DbConnection, DbCommand, DbDataReader, DbTransactionβ€”the classes needed to query and update databases from managed code.

Complete documentation is available at the MySqlConnector Documentation Website.

Why Use This Library?

Async Support

This library implements true asynchronous I/O for database operations, without blocking (or using Task.Run to run synchronous methods on a background thread). This greatly improves the throughput of a web server that performs database operations.

Performance

This library outperforms Connector/NET (MySql.Data) on benchmarks:

Benchmark 1 Benchmark 2

(Client: MySqlConnector 0.34.2, Windows 10 x64; Server: MySQL Server 5.6.21, Unix)

Bug Fixes

This library fixes dozens of outstanding bugs in Connector/NET.

License

This library is MIT-licensed and may be freely distributed with commercial software. Commercial software that uses Connector/NET may have to purchase a commercial license from Oracle.

ORMs

This library is compatible with popular .NET ORMs including:

For Entity Framework support, use:

Build Status

Ubuntu 14.04 Windows x64 NuGet
Travis CI AppVeyor NuGet Pre Release

Building

Install the latest .NET Core.

To build and run the tests, clone the repo and execute:

dotnet restore
dotnet test tests\MySqlConnector.Tests

To run the side-by-side tests, see the instructions.

Goals

The goals of this project are:

  1. .NET Standard support: It must run on the full .NET Framework and all platforms supported by .NET Core.
  2. Async: All operations must be truly asynchronous whenever possible.
  3. High performance: Avoid unnecessary allocations and copies when reading data.
  4. Lightweight: Only the core of ADO.NET is implemented, not EF or Designer types.
  5. Managed: Managed code only, no native code.
  6. Independent: This is a clean-room reimplementation of the MySQL Protocol, not based on Connector/NET.

Cloning the full API of Connector/NET is not a goal of this project, although it will try not to be gratuitously incompatible. For common scenarios, this package should be a drop-in replacement.

License

This library is licensed under the MIT License.

Contributing

If you'd like to contribute to MySqlConnector, please read our contributing guidelines.

mysqlconnector's People

Contributors

bgrainger avatar caleblloyd avatar ejball avatar adampoit avatar drake103 avatar marcrocny avatar michi84o avatar nicholi avatar kobake avatar thorium avatar sebastienros avatar sebastianc avatar snakefoot avatar naragato avatar ktos avatar jeremylcarter avatar hajekj avatar hasongit avatar dustinsoftware avatar dgilbert avatar ddunkin avatar daniel15 avatar bnabholz avatar elemount avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.