【问题标题】:Asp.net core adding Controller using Entity FrameworkAsp.net core 使用实体框架添加控制器
【发布时间】:2016-12-07 16:38:00
【问题描述】:

我有一个带有一些属性的模型,我正在使用实体框架基于该模型创建一个新控制器,但它给我一个错误: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);
        }
    }
}

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

有什么办法吗?

提前致谢。

【问题讨论】:

  • 你试过了吗 public DbSet EnquiryModel { get;放; } ?
  • 是的,我已经尝试将其放入 application.Dbcontext(也写在简介中)。
  • 不一样,在你的问题中你没有为 DbSet 使用泛型,你能发布你的 DbContext 代码吗?
  • 命名空间 Project.Data { public class ApplicationDbContext : IdentityDbContext { public ApplicationDbContext(DbContextOptions options) : base(options) { } public DbSet EnquiryModel { get;放; } 受保护的覆盖无效 OnModelCreating(模型构建器构建器){ base.OnModelCreating(构建器); } } }
  • 您的实体似乎没有密钥,您可以在 OnModelCreating 方法中设置密钥和其他配置

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


【解决方案1】:

用这个修改你的 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);
        }
    }
}

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

让我知道这是否有用。

【讨论】:

  • 还是一样。我在我的模型中添加了一个 Key 并使用了上面的代码,但它仍然是一样的。
  • 添加我的密钥的代码:[Key] public int ID { get;放; }
猜你喜欢
  • 2017-03-24
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-08
  • 1970-01-01
相关资源
最近更新 更多