MySqlConnector
Hot Chocolate
Our great sponsors
MySqlConnector | Hot Chocolate | |
---|---|---|
8 | 17 | |
1,352 | 4,885 | |
1.3% | 1.7% | |
9.2 | 9.6 | |
7 days ago | 5 days ago | |
C# | C# | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
MySqlConnector
-
Faster MySQL with HTTP/3
MySqlConnector (the most popular .NET library for MySQL, and the one that I authored) has supported protocol compression for many years: https://github.com/mysql-net/MySqlConnector/issues/31.
-
Implementing the MySQL server protocol for fun and profit
> I kept technical notes about the protocol, to serve as a future reference for myself and for other developers.
As someone who's written a MySQL client (in C#: https://github.com/mysql-net/MySqlConnector), I'd be very interested to see your notes. Are they available anywhere, or were they the confidential IP of your client?
> Unsurprisingly, bugs were uncovered every time a new client was added.
I've faced the same thing, from a client perspective. Every time a new server is tested (MySQL, MariaDB, Amazon Aurora, Azure Database for MySQL, etc.), I find slightly different interpretations of the protocol and have to accommodate them.
-
Ask HN: Examples of Top C# Code?
I have had the pleasure of contributing to a couple different networked drivers with very talented maintainers that I like to use as references.
One supports a wide array of Framework versions and has both Sync and Async I/O, as it must to implement the ADO.NET database driver interfaces. Reading the internals really highlight the way that .NET has evolved over the years and what must be done in each target version to maximize performance:
https://github.com/mysql-net/MySqlConnector
The other supports .NET 6 only with Async I/O only. This support policy seems to be the way that "modern" .NET development is headed, as .NET 6 will be the floor for LTS .NET (formerly .NET Core) releases in a few months. Async APIs only greatly simplify development, and make it simpler to remain performant when targeting WASM.
https://github.com/Cysharp/AlterNats
As a library maintainer, one thing I often wonder about is how to indicate .NET version support. One option would be for the major version of the library to track the major version of .NET, so if I were to publish a new library today then start with .NET 6 support and start with version number 6.0.0 instead of 1.0.0. This would limit the library to only making breaking changes when the .NET version changes though.
- Do I need to worry about connection pooling/etc with MySql.Data.MySqlClient?
-
Need some help/direction reading CSV into MySQL without duplication
Use the MySqlConnector to load the data into a temp table using the bulk copy API. Both of my libraries implement the IDataReader (DbDataReader) interface, so they can be directly used with the bulk copy APIs. Then insert into the final table from the temp table filtering out rows that are already in the final table.
- Finding an Authorization Bypass on My Own Website
-
Performance Improvements in .NET 6
I'm the author of what you might call the "new" MySQL ADO.NET library: https://github.com/mysql-net/MySqlConnector
I agree with your impression that developers of the other library don't seem to be "plugged in to" the .NET ecosystem. As an independent developer (not affiliated with Oracle or Microsoft), I've been able to influence GitHub PRs that shape the ADO.NET API for .NET 6.0, just by showing up and contributing; I haven't seen anyone from the Oracle MySQL team participating. Meanwhile, they violate basic principles of the .NET Framework Design Guidelines that have been around for over a decade (https://docs.microsoft.com/en-us/dotnet/standard/design-guid...), which makes their library feel alien to a .NET programmer (regardless of the quality issues it might have).
-
MongoDB C# Driver Vs. MongoDB.Entities Benchmark
e.g. this community effort of a MySQL ADO.NET provider is miles ahead of Oracle's driver.
Hot Chocolate
-
I love LINQ and the Entity Framework
have a look here https://youtu.be/qrh97hToWpM https://chillicream.com/
-
How to efficiently call an arbitrary method?
There are some libraries which allows you to declare some class with more or less arbitrary methods which will be called by it at runtime. I believe many of them do that in optimal way, not just using usual reflection. One of the examples is HotChocolate library https://github.com/ChilliCream/hotchocolate . You declare class with arbitrary methods which contain arbitrary arguments. "Arbitrary" doesn mean arbitrary at all, but if parameter type is registered in DI or marked by specific attribute, it can be passed to the method.
-
ChilliCream GraphQL vs GraphQL.Net in
At work we are considering using GraphQL to build our read-only data-APIs using .NET 6, EF Core and SQL Server. Looking at the ecosystem the most relevant plattforms seems to be graphql-dotnet and ChilliCream.
-
Graphql-dotnet vs Hot Chocolate, which one to choose?
I'm starting a brand new project. Looks like if we want to do GraphQL in .NET, it's either graphql-dotnet or Hot Chocolate. Both look pretty good on paper.
- GraphQL is quickly moving to one of my least favorite technologies
-
JavaScript: *gets annihilated*
If you know it better: Please try statically typed generated graphql queries in C# (like write the graphql queries, have a graphql schema, then get generated C# types which resemble the query, the only thing I've found that could do it was https://chillicream.com/docs/strawberryshake and there I quickly hit this bug with super simple queries containing unions: https://github.com/ChilliCream/hotchocolate/issues/4662
-
Adopting 200 OK! Error Handling strategy in GraphQL with Hot Chocolate (dotnet).
If you don't know Hot Chocolate framework, feel free to read about it on chillicream.com (official website) and feel free to join the great community (which is always willing to help) on slack
-
Which programming language, besides JS, has the best support/ecosystem for graphql?
I love using Hot Chocolate in C# ❤
-
GraphQL mutation union erros (6a) with Hotchocolate GraphQL Server
Hotchocolate GraphQL server. This is the most advanced server for a .Net environment. This article does not go into the basics and assumes some framework knowledge.
-
Introducing pf2e.io, a generic, source-available, re-usable and most notably free set of services for creating pathfinder 2e tools, sites and applications.
I think for the time being that's the case, yeah. I'm confirming with the great people over at https://github.com/ChilliCream/hotchocolate to see if we can somehow work around that.
What are some alternatives?
Pomelo.EntityFrameworkCore.MySql - Entity Framework Core provider for MySQL and MariaDB built on top of MySqlConnector
GraphQL for .NET - GraphQL for .NET
Avalonia.FuncUI - Develop cross-plattform GUI Applications using F# and Avalonia!
AutoMapper - A convention-based object-object mapper in .NET.
openiddict-core - Flexible and versatile OAuth 2.0/OpenID Connect stack for .NET
FluentValidation - A popular .NET validation library for building strongly-typed validation rules.
Marten - .NET Transactional Document DB and Event Store on PostgreSQL
IdentityServer - The most flexible and standards-compliant OpenID Connect and OAuth 2.x framework for ASP.NET Core
aqtinstall - aqt: Another (unofficial) Qt CLI Installer on multi-platforms
Xamarin.Essentials - Essential cross platform APIs for your mobile apps.