Context
- Creating an Entity Framework data layer (experience with Hibernate)
- Connecting to SQL Server Express
- Client is a simple desktop application
- I can't use Entity Framework CORE
Details
I've been working through Entity Framework 6's docs here as well as some other resources. Everything I've found in regards to EF6 is quite dated. Case in point it "says" it'll add things to the config file when you install via nuget manager but doesn't...
The entityFramework section was automatically added to the configuration file of your project when you installed the EntityFramework NuGet package.
Frustrating but I can work around that, not my first app.config.
However what confuses me further down in the Entity Framework docs is the provider registration. Nuget was supposed to install a reference to EntityFramework.SqlServer, but it never did. I could also not install it via nuget package manager. I managed to find it in nuget.org but is unlisted and hasn't been updated since 2015
<providers>
<provider invariantName="System.Data.SqlClient"
type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
Question
Do I still even need EntityFramework.SqlServer? I can easily add it in if I have too but is this the correct approach? Do people still use this old .dll out in the real world/prod?
I am curious to see how one with more experience with ET 6 would configure a fresh project.
UPDATE - DEC-9-2019
So digging into a little more, this behaviour doesn't work if you're installing Nuget packages with PackageReference rather than Package.config. You can change it by navigating to Tools --> Options--> Nuget Package Manager --> General --> Default package management format
EntityFramework.SqlServeris part of Entity Framework Core - not the "base" Entity Framework (v6.x) that's running on the full .NET framework