コントローラーのスキャフォールドのエラー。ASP.NET Core で Web API作成
解決したいこと
チュートリアル: ASP.NET Core で Web API を作成する
https://docs.microsoft.com/ja-jp/aspnet/core/tutorials/first-web-api?view=aspnetcore-5.0&tabs=visual-studio
について質問です。
「コントローラーのスキャフォールディング」でエラーが出ました。
Controllersフォルダを右クリックして、スキャフォールディングされた項目、[Entity Framework を使用したアクションがある API コントローラー] を選択してから、 [追加]をしたところ、次のようなエラーメッセージが出ました。
(最終的には、このチュートリアルで練習したのちに、本の検索プログラムを作り、jsonで返したいです。)
エラーの内容を見る限り、サービスの設定をすればよいものと思われますが、サービスとは何でしょうか??
何か解決方法はありませんか?
発生している問題・エラー
There was an error running the selected code generator:
'Unable to resolve service for type
'Micfosoft.EntityFrameworkCoreDbContextOptions'1[TodoApi.Models.TodoContext]' while attempting to activate
'TodoApiModels.TodoContext'.'
'TodoApiModels.TodoContext'をアクティベートしようとするときに、'Micfosoft.EntityFrameworkCoreDbContextOptions'1[TodoApi.Models.TodoContext]のタイプに、
「サービス」が設定できません。
該当するソースコード
```ASP.NET Core
Modelsフォルダ内のcsファイル
//TodoContext.cs
using Microsoft.EntityFrameworkCore;
namespace TodoApi.Models
{
public class TodoContext : DbContext
{
public TodoContext(DbContextOptions options)
: base(options)
{
}
public DbSet<TodoItem> TodoItems { get; set; }
}
}
// TodoItem.cs
namespace TodoApi.Models
{
public class TodoItem
{
public TodoItem(long id, string name, bool isComplete)
{
Id = id;
Name = name;
IsComplete = isComplete;
}
public long Id { get; set; }
public string Name { get; set; }
public bool IsComplete { get; set; }
}
}
### 自分で試したこと
1.参考情報。チュートリアルがアップされたのは今年の夏頃なので、
使用ヴァージョンはVS 2019だと思います。
私の使用ヴァージョンは11月末にリリースされたVS 2022です。
2. NugetよりインストールしたEntityFrameWorkのパッケージは、
チュートリアルのMicrosoft.EntityFrameworkCore.InMemory と、
--(省略).Core
--(省略).Tools
--(省略).SqlServer
--(省略).Design
です。
3.
恐らくですが、発生している問題・エラーに記載していますが、エラーの内容を見る限りはサービスを設定すれば解決するはずです。
しかしサービスの内容がよくわかりません。
4.Modelsファイル内のTodoItem.cs
において、コンストラクタを追加してみました。