3

How can I use Entity Framework, or something similar within a .NET Standard project?

It appears as though EF is not supported in .NET Standard 2 which is really annoying!

So I have tried using Microsoft.EntityFrameworkCore.SqlServer and icrosoft.EntityFrameworkCore.SqlServer.Design

Whist I can install these packages, I cannot then add a model

I get the error

---------------------------
Microsoft Visual Studio
---------------------------
The project's target framework does not contain Entity Framework runtime assemblies. Please review the target framework information in the project's property page.
---------------------------
OK   
---------------------------

How can I get around this?

I am seriously thinking to get rid of .NET Standard out of all my projects but that is a bit drastic!

Paul

2
  • 1
    It's not. EF 6 came years before .NET Standard 2.0. The .NET Standard compatilbe version is EF Core. Commented Feb 2, 2018 at 12:24
  • Is it not possible to have a visual model designer for EF Core? Commented Feb 2, 2018 at 12:25

2 Answers 2

7

It looks like the actual question is "How can I create models and reverse engineer a database using EF Core like I could with EF 6" ?

The tooling is separate from the NuGet package. Visual Studio 2017 doesn't include modelling or reverse engineer tools for EF Core. Those are available through EF Core Power Tools an open source addon. You can find the code and documentation here

Sign up to request clarification or add additional context in comments.

2 Comments

When I try to use this I get another error Currently only .NET Framework and .NET Core 2.0 projects are supported - TargetFrameworkMoniker: .NETStandard,Version=v2.0
The tooling for EF doesn't fully work with a project that targets only .NET Standard. But the runtime does. Try running the tooling in a console app targeting .NET core and moving the generated code artifacts into your .NET Standard class library.
0

Change the EF version. There are some versions of EF that work with NetStandard2.0 but other (recently ones) usually don't.

For example with the version 6: enter image description here

And with version 5, you can use it in a Standard project:

enter image description here

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.