我正在为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/这个问题可以解决什么问题?