efcore icon indicating copy to clipboard operation
efcore copied to clipboard

Modernize EF Core tooling

Open ajcvickers opened this issue 4 years ago • 8 comments

.NET platforms have evolved since we first introduced tooling for migrations, database scaffolding, etc. in EF Core 1.0. We plan to update the tooling architecture to better support new platforms, like .NET MAUI, and to streamline the process in areas such as the use of multiple projects. This includes providing better feedback when things go wrong, better integration with logging, performance, and new sugar.

ajcvickers avatar Nov 23 '21 09:11 ajcvickers

I've been trying to work with ef core 7 pre release on MAUI and i could notice that iOS is not working. But Android and Windows work.

RobertoGFilho avatar Aug 17 '22 00:08 RobertoGFilho

Hey @bricelam @ajcvickers, do you folks have some details about what particular will be updated in EF Core 7 CLI tooling? I'm working on the EF Core plugin for Rider and want to introduce some tracked items to include in the new plugin milestone attached to the EF Core 7 release.

seclerp avatar Aug 21 '22 19:08 seclerp

@seclerp This specific issue had to be cut from the 7.0.0 milestone. It's mostly a duplicate of #18840.

The big tooling change in EF7 was support for T4 templates. See the docs for details. You could add a UI gesture for dotnet new ef-templates (the VS plugin already did this). A bigger-impact change, however, would be to update JetBrains/ForTea to resolve assembly references from the project's NuGet packages.

bricelam avatar Aug 25 '22 20:08 bricelam

Thanks! Can't find Microsoft.EntityFrameworkCore.Templates template package. Is it publicly available already? What I see currently in VS plugin is that templates are shipped with the plugin itself, in a .zip archive.

seclerp avatar Aug 25 '22 21:08 seclerp

https://github.com/dotnet/efcore/tree/release/7.0/src/EFCore.Templates

The source for the package. It is in daily builds not yet released to nuget. Daily builds - https://github.com/dotnet/efcore/blob/release/7.0/docs/DailyBuilds.md

smitpatel avatar Aug 25 '22 22:08 smitpatel

Does T4 supports NuGet references via "assembly" directive in general? It will be cool if T4 spec exists somewhere.

seclerp avatar Aug 25 '22 23:08 seclerp

Not exactly a spec, but there's a good description of T4 here: https://docs.microsoft.com/visualstudio/modeling/writing-a-t4-text-template

bricelam avatar Aug 26 '22 16:08 bricelam

But no, NuGet wasn't a thing when T4 was designed. Regardless, the TeaFour plugin should still be able to look for matching assemblies inside installed NuGet packages.

bricelam avatar Aug 26 '22 16:08 bricelam