ErikEJ / EFCorePowerTools

Entity Framework Core Power Tools - reverse engineering, migrations and model visualization in Visual Studio & CLI
MIT License
2.17k stars 297 forks source link

Support for MySQL, Oracle and others #17

Closed ErikEJ closed 5 years ago

ErikEJ commented 6 years ago

From @AllanTee on January 18, 2018 7:38

See PR https://github.com/ErikEJ/SqlCeToolbox/pull/645 for an example of how this could be done.

Requires:

Copied from original issue: ErikEJ/SqlCeToolbox#617

ErikEJ commented 6 years ago

Not at the moment, no. Command line ? (if it is an available feature in your MySql provider)

ErikEJ commented 6 years ago

Looks like the building blocks are present, let me know if you would be able to help test this?

https://dev.mysql.com/downloads/windows/visualstudio/ https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql

ErikEJ commented 6 years ago

From @AllanTee on January 18, 2018 17:42

Hi Erik,

The Pomelo thing works. At least it connected to external MySQL database and did the "Scaffold-DbContext" miracle, which I needed. Thank You very much!!! Consider to develop MySQL support to your tool as well. :-)

ErikEJ commented 6 years ago

From @AllanTee on March 7, 2018 16:8

Thank you!

ErikEJ commented 6 years ago

From @Pangamma on March 7, 2018 19:11

I would love this to become a feature.

ErikEJ commented 6 years ago

@Pangamma PRs accepted 😁

ErikEJ commented 6 years ago

@Pangamma Which provider are you looking for?

ErikEJ commented 6 years ago

From @Pangamma on March 15, 2018 21:9

@ErikEJ MySQL.

jespersh commented 5 years ago

Will give the MySQL part a shot during the weekend. Seems like all the parts are here to make this possible. One thing, why is Blend required for building?

I don't see a VSIX provider registration with Pomelo.EntityFrameworkCore.MySql like there is for Npgsql here: https://github.com/npgsql/npgsql/blob/master/src/VSIX/NpgsqlProviderRegistration.cs Could this cause me some headaches?

ErikEJ commented 5 years ago

One thing, why is Blend required for building?

Because of the MVVM components used for the WPF forms (@Herdo ??)

don't see a VSIX provider registration with Pomelo.EntityFrameworkCore.MySql like there is for Npgsql here: https://github.com/npgsql/npgsql/blob/master/src/VSIX/NpgsqlProviderRegistration.cs Could this cause me some headaches?

Yes, currently the tool expects a provider to be able to store connection information in Server Explorer (using DDEX) -see above - but the design time provider and the used EF Core provider do not have to match, so you should be able to use the official MySQL DDEX provider.

In other words, the DDEX provider is only used to store and provide the connection string.

Requirements: DDEX provider + full .NET Framework ADO.NET provider. EF Core 2.x provider that implements IDesignTimeServices

Herdo commented 5 years ago

One thing, why is Blend required for building?

Because of the MVVM components used for the WPF forms (@Herdo ??)

Yeah, exactly. That's the thing where the NuGet package was introduced recently, but we didn't replace that reference, yet.

ErikEJ commented 5 years ago

MySql support now available

jespersh commented 5 years ago

This was an interesting experience to make with EFCore. Thanks for your meetup talk not long ago. Wouldn't have found this project otherwise.

ErikEJ commented 5 years ago

Thanks, Jesper - any suggestions for what I can do to make devs better aware of this project?

jespersh commented 5 years ago

My thanks to you for creating this tool. I think the word of mouth will spread the word of it best. I see it is already popular on the VS marketplace with 160k downloads.

An issue I suppose I had with this is, is that I didn't know what the end result should be.

jespersh commented 5 years ago

The tracked issue on Pomelo's end for using StrongNamer here is this one: https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/issues/603

ErikEJ commented 5 years ago

Closing, as no request for Oracle ever received, and no Oracle provider exists

qgxcry commented 5 years ago

@ErikEJ Oracle provider Citms.EntityFrameworkCore.Oracle, Please Support for Oracle

ErikEJ commented 5 years ago

@qgxcry feel free to do a PR!

jespersh commented 5 years ago

Since "MySQL for Visual Studio" by Oracle currently doesn't support 2019 (which is one of the requirements here), give https://github.com/jespersh/mysql-for-visualstudio2019/releases/download/1.2.8/mysqlvs2019.vsix a roll. It is a repackaged version I made just for VS2019 and my limited testing shows it works. It will be removed once Oracle provides their own for 2019.