Skip to content

unopcpavilion/rider-efcore

 
 

Repository files navigation

Entity Framework Core UI plugin for JetBrains Rider

Logo

This plugin introduces Entity Framework Core commands' UI inside JetBrains Rider.

Build

Features

There are a couple of UI stuff for:

  • Creating migrations
  • Updating database with selected migration (including migration names autocompletion)
  • DbContext scaffolding from existing database
  • Creating SQL scripts from the migration range
  • Removing last created migration
  • Suggesting installing dotnet ef command line tools if not installed (when opening solution that contains EF Core related projects)
  • Previewing commands before execution
  • Persisting selected common preferences between dialogs

How to install

Using marketplace:

For EAP users: you should add https://plugins.jetbrains.com/plugins/eap/list to your plugin repositories list before installing

  1. Go to Settings / Plugins / Marketplace
  2. Search for "Entity Framework Core UI"
  3. Click Install, then Save
  4. After saving restart Rider

Using .zip file

  1. Go to Releases
  2. Download the latest release of plugin for your edition of JetBrains Rider (Stable or EAP)
  3. Proceed to Settings / Plugins / / Install plugin from disk
  4. Click Save
  5. After saving restart Rider

How to use

  1. Open solution that contains EF Core related projects (migrations and startup projects)

  2. Navigate to Tools/Entity Framework Core under project context menu:

    Logo

    You could use context menu of either your migrations or startup project.

  3. Clicking action will show appropriate dialog:

    Logo

  4. After you press Ok, selected action will be executed in background:

    Logo

    Logo

More about features and available dialogs you could read in the blog post.

Requirements

  • JetBrains Rider 2022.3+

  • EF Core 5.0+ with projects under such target frameworks:

    • net7.0 (preview)
    • net6.0
    • net5.0
    • netcoreapp3.1
    • netstandard2.1 (only for Migrations projects)
    • netstandard2.0 (only for Migrations projects)
  • EF Core global tools (dotnet ef) 5.0+ installed

Note: Projects with older versions of EF Core might work, but with issues

Development

Note: You should have JDK 17 and .NET SDK 5.0+ installed and configured.

Preparing

./gradlew rdgen - generates RD protocol data for plugin internal communication

Building plugin parts

  • for stable version of Rider:

    ./gradlew buildPlugin

  • for EAP version of Rider:

    ./gradlew buildPlugin -PRiderSdkVersion=2022.3.0-eap01 -PProductVersion=2022.3-EAP1-SNAPSHOT

It will build both frontend and backend parts.

Running

Next command will start instance of JetBrains Rider with plugin attached to it:

./gradlew runIde

Contributing

Contributions are welcome! 🎉

It's better to create an issue with description of your bug/feature before creating pull requests.

About branching

This project uses customized git strategy.

Each release/* branch plays main development branch role for specific release.

For example, release/222 means that branch is related to 222.* release cycle for 2022.2 Rider version.

See also

Packages

No packages published

Languages

  • Kotlin 81.8%
  • C# 18.2%