dotnet / dotnet/AspNetCore.Docs

Scaffolding does not create DbContext in a Data folder but on the project root instead.

Open
#37,459 3 comments 0 reactions 1 assignee Claimed by @wadepickett View on GitHub
aspnet-core/svc Source - Docs.ms tutorials/subsvc
Dominant language
C#
Stars
13.1k
Forks
24.6k
Avg merge
1d 2h
Merged PRs (30d)
109

Description

### Description

I've gone through this for several tries and I am getting the same result.

The autogenerated name in the
Add Razor Pages using Entity Framework (CRUD) dialogue,
RazorPagesMovie.Data.RazorPagesMovieContext,
is not being used by the scaffolding as shown in my output window:

C:\Program Files\dotnet\dotnet.exe scaffold aspnet razorpages-crud --model Movie --dataContext RazorPagesMovieContext --dbProvider sqlserver-efcore --page CRUD --project "C:\Tutorials\ASPNetCore\10\RazorPages\RazorPagesMovie\AddAModel\RazorPagesMovie\RazorPagesMovie\RazorPagesMovie.csproj"
Initializing scaffolding model...
Adding package 'Microsoft.EntityFrameworkCore.Tools (v10.0.10)'...
Done
Adding package 'Microsoft.EntityFrameworkCore.SqlServer (v10.0.10)'...
Done
**Adding RazorPagesMovieContext.cs...**
Done
Updated 'appsettings.json' with connection string 'RazorPagesMovieContext'
Adding Razor page files (.cshtml and .cshtml.cs)...
Done
Updating project 'RazorPagesMovie'...
Done

As a result, my Program.cs has quite a few differences from the Program.cs file in the tutorial.

The tutorial:
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using RazorPagesMovie.Data;
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();
builder.Services.AddDbContext(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("RazorPagesMovieContext") ?? throw new InvalidOperationException("Connection string 'RazorPagesMovieContext' not found.")));

var app = builder.Build();

Mine:
using Microsoft.EntityFrameworkCore;
var builder = WebApplication.CreateBuilder(args);
var connectionString = builder.Configuration.GetConnectionString("RazorPagesMovieContext") ?? throw new InvalidOperationException("Connection string 'RazorPagesMovieContext' not found.");

builder.Services.AddDbContext(options => options.UseSqlServer(connectionString));

Image

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

I end up missing the
using Microsoft.Extensions.DependencyInjection namespace.

Also, the Add Razor Pages using Entity Framework (CRUD) dialogue in tutorial still has the options section, but apparently there is no longer an options section on that screen.

### Page URL

https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/model?view=aspnetcore-10.0&tabs=visual-studio

### Content source URL

https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/tutorials/razor-pages/model.md

### Document ID

7096fdb3-612e-9e00-bd0b-8ea4886a09ce

### Platform Id

9d8be74a-08f0-471e-d9da-247aa11a5b2c

### Article author

@wadepickett

### Metadata

* ID: 6719f08e-3bd7-dc1a-71df-f2ef9fbca9d8
* PlatformId: 9d8be74a-08f0-471e-d9da-247aa11a5b2c
* Service: **aspnet-core**
* Sub-service: **tutorials**

[Related Issues](https://github.com/dotnet/AspNetCore.Docs/issues?q=is%3Aissue+is%3Aopen+7096fdb3-612e-9e00-bd0b-8ea4886a09ce)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.