2016-12-07 5 views
0

いくつかの属性を持つモデルがあり、エンティティフレームワークを使用してそのモデルに基づいて新しいコントローラを作成していますが、エラーが発生します:There is no entity type EnquiryModel on DbContext ProjectName.Data.ApplicationDbContextError Imageエンティティフレームワークを使用したAsp.netコア追加コントローラ

私はまた、アプリケーションの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); 
     } 
    } 
} 

私は解決策を再構築してきましたが、それはまだ私に同じエラーを与えます。

ありがとうございます。

+0

パブリックDbSetを試しましたか? EnquiryModel {get;セット; }? –

+0

はい、私はそれをapplication.Dbcontext(要約書にも書かれています)に入れることを試みました。 – chat007

+0

これは同じではありませんあなたの質問ではDbSetのgenercisを使用していない、DbContextコードを投稿できますか? –

答えて

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); 
     } 
    } 
} 

あなたはあなたのエンティティのキ​​ーを定義する必要があります。

これが役に立つかどうか教えてください。

+0

これはまだ同じです。私は自分のモデルにキーを追加して上記のコードを使用しましたが、それはまだ同じです。 – chat007

+0

キーを追加するコード: [Key] public int ID {get;セット; } – chat007

関連する問題