EF Core表示没有注册“MyDatabaseProviderServices”类型的服务

时间:2017-09-10 20:35:41

标签: .net dependency-injection entity-framework-core

我正在为Entity Framework Core 1.1.2编写数据库提供程序,我有以下问题。

我有一个AddEntityFrameworkMyProvider()扩展方法(在IServiceCollection上),我认为这是正确调用的。在这个方法中,我注册了自己的数据库提供程序。

<?php
$users = file('users.txt');
if (isset($_POST['LogIn'])) {
    echo $_POST['userID'].'<br>';
foreach ($users as $user) {
    if ($_POST['userID']==$user){
        header("Location: FileShareLogInRedirect.php");
        exit;
    }
}
echo "Wrong ID".'<br>';
?>

但是,当我想使用我的提供程序时,我收到一个InvalidOperationException,说没有注册

基于callstack,此异常发生在services.TryAddEnumerable( ServiceDescriptor.Singleton<IDatabaseProvider, DatabaseProvider<MyDatabaseProviderServices, MyDatabaseOptionsExtension>>()); 函数调用。

有趣的是MyDatabaseProviderServices的构造函数永远不会被调用,所以我对此异常并不感到惊讶。我是对的,我是否知道应该实例化这种类型的对象?

顺便说一句,我尝试按照官方推荐的EFCore 1.1数据库提供程序“指南”以相同的方式执行所有操作:https://blog.oneunicorn.com/2016/11/11/so-you-want-to-write-an-ef-core-provider/这个问题可以解决什么问题?

0 个答案:

没有答案