ModelBuilder' 不包含 'ApplyAllConfigurations' 的定义?

ModelBuilder' does not contain a definition for 'ApplyAllConfigurations'?

我正在关注 this youtube video and at time 34:05,它是 ASP.Net 核心的架构,使用 EntityFramework 核心,他们展示了一种扩展方法

    modelBuilder.ApplyAllConfigurations();

我在我的代码中试过这个,它抛出错误: 'ModelBuilder' 不包含 'ApplyAllConfigurations' 的定义,并且找不到可访问的扩展方法 'ApplyAllConfigurations' 接受类型 'ModelBuilder' 的第一个参数(您是否缺少使用指令或程序集引用?

我是否遗漏了任何参考资料?如果没有,我如何在我的项目中实现它?

检查您的ApplyAllConfigurations方法是否如下。我正在使用它并且它运行良好。

public static class ModelBuilderExtensions
{
    public static void ApplyAllConfigurations(this ModelBuilder modelBuilder)
    {
        var typesToRegister = Assembly.GetExecutingAssembly().GetTypes().Where(t => t.GetInterfaces()
            .Any(gi => gi.IsGenericType && gi.GetGenericTypeDefinition() == typeof(IEntityTypeConfiguration<>))).ToList();

        foreach (var type in typesToRegister)
        {
            dynamic configurationInstance = Activator.CreateInstance(type);
            modelBuilder.ApplyConfiguration(configurationInstance);
        }
    }

}

注意:确保此扩展方法和您的 DbContext 在同一个程序集中。否则在扩展方法中明确指定程序集名称。