VS 2017没有为此对象定义的无参数构造函数

时间:2017-09-04 07:31:45

标签: asp.net-mvc asp.net-core

我在VS 2017中创建了一个基于.net core 2的项目。当我想使用实体框架创建一个新的控制器时,我收到了一条错误消息:

  

运行所选代码生成器时出错:   没有为此对象定义无参数构造函数

这是我的模特:

public class Country : Entity<int>
{
    public Country()
    {

    }

    [Required]
    [MaxLength(100)]
    [Display(Name = "Country Name")]
    public string Name { get; set; }

    public virtual IEnumerable<Person> Persons { get; set; }
}

我该如何解决此问题?

更新 这是我的Entity课程:

public abstract class BaseEntity { 

}

public abstract class Entity<T> : BaseEntity, IEntity<T> 
{
    public virtual T Id { get; set; }
}

1 个答案:

答案 0 :(得分:0)

我刚才有同样的问题,我意识到它与无参数构造函数无关,你缺少Id属性,只需添加

public string Id {get; set;}

到模型,你应该没事。