繁体   English   中英

Asp.net核心使用实体框架添加控制器

[英]Asp.net core adding Controller using Entity Framework

我有一个带有某些属性的模型,并且正在使用实体框架基于该模型创建一个新的控制器,但是它引发了以下错误: There is no entity type EnquiryModel on DbContext ProjectName.Data.ApplicationDbContext 错误图片

我还尝试使用以下方法将模型添加到应用程序的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);
        }
    }
}

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

有什么办法吗?

提前致谢。

使用以下方法修改您的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);
        }
    }
}

您需要为实体定义密钥。

让我知道这是否有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM