Pomelo.EntityFrameworkCore.MySql
uulid.go
Our great sponsors
Pomelo.EntityFrameworkCore.MySql | uulid.go | |
---|---|---|
5 | 2 | |
2,639 | 31 | |
0.8% | - | |
8.7 | 2.6 | |
9 days ago | 5 months ago | |
C# | Go | |
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.
Pomelo.EntityFrameworkCore.MySql
-
Mysql and Entity
EntityFramework uses providers to translate Linq queries into real queries and connect to the datasource and convert the data into .net readable format. The MySQL provider for .NET is the official one but I think it has fallen on hard times and is not developed as much as before. You should probably look at Pomelo, which is a community library for .net core: https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql
- Whats the different between these two? What should I be using if im on NET 6?
- Github repositories to study from
-
Question about C# and MySql
For MySQL and friends you'll need the Pomelo data provider from https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql . Turns out there's an example of using the MySQL provider about halfway down that shows how to, but it is missing the '-o Model' parameter that you'd use to get your database model into a folder called Model.
-
Timeflake: 128-bit, roughly-ordered, URL-safe UUIDs
This approach has become my preferred way of generating IDs for database rows. It is relatively space efficient and doesn't require a round trip to the database to generate an ID like auto increment does.
While working on a C# implementation for MySQL and we found that when the DB uses Little Endian Binary that the GUID must be reversed to store in order:
https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCo...
uulid.go
-
New UUID Formats – IETF Draft
For those interested in time based UUIDs, I've written libraries in Ruby and Go to move quickly between them:
https://github.com/sudhirj/uulid.go
-
Timeflake: 128-bit, roughly-ordered, URL-safe UUIDs
There’s a spec called ULID that’s pretty much this with default base32 encoding
https://github.com/ulid/spec
I’ve also worked on a UUID-ULID bridge for Go
https://github.com/sudhirj/uulid.go
And seeing as this is just 128 bits it’s quite easy to move seamlessly between formats and representations.
I’ve found this concept especially useful in nosql stores like DynamoDB, where using a ULID primary key makes objects time sortable automatically. It’s also quite easy to query for items by zeroing out the random component and setting only the time stamp bytes.
What are some alternatives?
MySqlConnector - MySQL Connector for .NET
timeflake - Timeflake is a 128-bit, roughly-ordered, URL-safe UUID.
Entity Framework - EF Core is a modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations.
ulid-mssql - Implementation of ULID generator For Microsoft SQL Server
sequential-uuids - generator of sequential UUIDs
Ulid - Fast .NET C# Implementation of ULID for .NET and Unity.
Detached-Mapper - An ORM friendly mapper. Allows saving entire entity graphs. Heavily inspired in GraphDiff and AutoMapper.
ksuid - K-Sortable Globally Unique IDs
ASP.NET Core - ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
spec - The canonical spec for ulid
umbrella - ⛱ Broadly scoped ecosystem & mono-repository of 190 TypeScript projects (and 155 examples) for general purpose, functional, data driven development
shortuuid.rb - Convert UUIDs & numbers into space efficient and URL-safe Base62 strings, or any other alphabet.