Skip to content

JetBrains/rider-efcore

Repository files navigation

Logo Logo

Entity Framework Core UI plugin for JetBrains Rider

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

JetBrains Official 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

Starting from Rider 2023.3, the plugin is bundled into the main Rider distribution. No additional actions required.

How to use

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

  2. Navigate to Entity Framework Core under project or solution context menu:

    image

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

  3. Clicking action will show the appropriate dialog:

    image

  4. After you press Ok, the selected action will be executed in a console-like window (by default):

    image

  5. You could also configure the dialog's behavior in Settings, under Tools/EF Core UI section:

    image

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

Requirements

TL;DR:

  • the most recent stable version of JetBrains Rider,
  • officially supported versions of .NET, EF Core tools and EF Core NuGets.

Before opening the issue, please make sure that your projects and development environment completely satisfies these requirements:

  • Target frameworks

    • net8.0 (preview)
    • net7.0
    • net6.0
    • net5.0
    • netcoreapp3.1
    • netstandard2.1 *
    • netstandard2.0 *

    *: only for Migrations projects

  • Microsoft.EntityFrameworkCore.*: 5.0.0 or higher

  • Tools (dotnet ef): 5.0 or higher

Development

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

Preparing

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

Building plugin parts

./gradlew buildPlugin

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.

See also