.AddDbContext方法在哪里?

LIN*_*dka 6 asp.net-core

据称它到处都调用了services.AddDbContext <>方法,但在ConfigureServices(IServiceCollection服务)方法中无法识别它.
我究竟做错了什么?

Tse*_*eng 8

您必须首先引用正确的包,这取决于您要使用的EF Core提供程序.

Microsoft.EntityFrameworkCore.SqlServer用于SQL Server,Microsoft.EntityFrameworkCore.Sqlite用于SQLite和Microsoft.EntityFrameworkCore.InMemory用于内存(仅用于测试).

这些是官方开箱即用的提供商.也有第三方供应商对PostgreSQL,MySQL和等文档提供商提供的第三方供应商的名单在这里.

此外,根据提供程序,您可能还需要声明某个名称空间.内置提供程序在Microsoft.Extension.DependencyInjection命名空间中声明,因此您需要在您using Microsoft.Extension.DependencyInjection;的顶部添加一个Startup.cs.

其他提供程序(例如Oracle的MySQL提供程序)使用MySQL.Data.EntityFrameworkCore.Extensions命名空间,因此您需要使用它来定义它using MySQL.Data.EntityFrameworkCore.Extensions;