Asp.net核心使用Entity Framework添加Controller

时间:2016-12-07 16:38:00

标签: asp.net asp.net-core entity-framework-core

我有一个带有一些属性的模型,我正在使用实体框架创建一个基于该模型的新控制器,但它会抛出一个错误:There is no entity type EnquiryModel on DbContext ProjectName.Data.ApplicationDbContextError Image

我还尝试使用以下代码将我的模型添加到应用程序DbContext

namespace Project.Data
{
    public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
            : base(options)
        {
        }

        public DbSet<EnquiryModel> EnquiryModel { get; set; }

        protected override void OnModelCreating(ModelBuilder builder)
        {
            base.OnModelCreating(builder);
        }
    }
}

我重建了解决方案,但它仍然给我同样的错误。

任何解决方案?

提前致谢。

1 个答案:

答案 0 :(得分:0)

使用以下命令修改DbContext:

namespace Project.Data
{
    public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
            : base(options)
        {
        }

        public DbSet<EnquiryModel> EnquiryModel { get; set; }

        protected override void OnModelCreating(ModelBuilder builder)
        {
            // I'm assuming you have a property with name EnquiryID
            builder.Entity<EnquiryModel>().HasKey(p => p.EnquiryID);

            base.OnModelCreating(builder);
        }
    }
}

您需要为您的实体定义一个密钥。

请告诉我这是否有用。