Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.Net Core 1.0中注册通用EntityFrameworkCore DbContext_C#_Asp.net Mvc_Generics_Entity Framework Core_Asp.net Core 1.0 - Fatal编程技术网

C# 在ASP.Net Core 1.0中注册通用EntityFrameworkCore DbContext

C# 在ASP.Net Core 1.0中注册通用EntityFrameworkCore DbContext,c#,asp.net-mvc,generics,entity-framework-core,asp.net-core-1.0,C#,Asp.net Mvc,Generics,Entity Framework Core,Asp.net Core 1.0,我试图在ASP.Net Core 1.0中使用泛型DbContext,但出现以下错误: ArgumentException: Type 'idmin.data.IdminDataContext`1[System.Int32]' does not have a default constructor Parameter name: type 以下是IdminDataContext的定义: public class IdminDataContext<TKey> : DbContext

我试图在
ASP.Net Core 1.0
中使用泛型DbContext,但出现以下错误:

ArgumentException: Type 'idmin.data.IdminDataContext`1[System.Int32]' does not have a default constructor Parameter name: type 
以下是IdminDataContext的定义:

public class IdminDataContext<TKey> : DbContext where TKey : IEquatable<TKey>
{

    public IdminDataContext(DbContextOptions<IdminDataContext<TKey>> options) : base(options)
    {
    }

    public DbSet<Idmin.Models.Client<TKey>> Clients { get; set; }
}
public类IdminDataContext:DbContext其中TKey:IEquatable
{
公共IdminDataContext(DbContextOptions选项):基本(选项)
{
}
公共数据库集客户端{get;set;}
}
下面是我如何在startup类中注册它的

public void ConfigureServices(IServiceCollection services)
{
    var connection = "my connection string";
    services.AddDbContext<IdminDataContext<int>>(options => options.UseSqlServer(connection));

    services.AddMvc();
}
public void配置服务(IServiceCollection服务)
{
var connection=“我的连接字符串”;
services.AddDbContext(options=>options.UseSqlServer(connection));
services.AddMvc();
}
我尝试在IdminDataContext类中添加默认构造函数,但没有帮助。
知道我在这里遗漏了什么吗?

我发现了问题。我犯了一个愚蠢的错误。我没有在控制器中使用构造函数注入,而是使用操作方法注入,这导致了Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexTypeModelBinder的CreateModel方法出现异常。通过将依赖项注入移动到构造函数而不是操作方法注入,修复了此问题。

我也有同样的问题。我将我的接口注入控制器操作(索引)。现在我在我的控制器中添加了一个构造函数,并在那里注入了接口,它就工作了。但我不太明白动作法注射有什么问题。