它所说的任何地方都称呼服务.AddDbContext<>方法,但在ConfigureServices(IServiceCollection服务)方法中无法识别 我做错了什么?
答案 0 :(得分:6)
您必须首先引用正确的包,这取决于您要使用的EF Core提供程序。
Microsoft.EntityFrameworkCore.SqlServer
用于SQL Server,Microsoft.EntityFrameworkCore.Sqlite
用于SQLite,Microsoft.EntityFrameworkCore.InMemory
用于内存(仅用于测试)。
这些是官方开箱即用的提供商。 PostgreSQL,MySQL等也有第三方提供商。文档提供商列出了可用的第三方提供商here。
同样取决于提供者,您可能还需要声明某个命名空间。内置提供程序在Microsoft.Extension.DependencyInjection
命名空间中声明,因此您需要在using Microsoft.Extension.DependencyInjection;
的顶部添加Startup.cs
。
其他提供程序(例如Oracle的MySQL提供程序)使用MySQL.Data.EntityFrameworkCore.Extensions
命名空间,因此您需要使用using MySQL.Data.EntityFrameworkCore.Extensions;
答案 1 :(得分:0)
注意在实际编写using
时,您只需要引用Microsoft.EntityFrameworkCore
省略特定的包名称。提供它似乎会引发错误。