0

私は、Entity Frameworkを使用して、ビューのMVCコントローラを生成するための足場を使用しようとしている:コントローラの足場は、ASP.NETのCore 2プレビューのためにVS 2017のプレビューでは動作しません

enter image description here

私はApplicationDBContextを作成:

public class ApplicationDbContext : DbContext 
    {   

     public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) 
      : base(options) 
     { 
     }   

     public DbSet<med1.Models.House> House { get; set; } 
    } 

とConfigureServicesに加え:

services.AddDbContext<Data.ApplicationDbContext>(options => 
       options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); 

そしてもちろん、私は家のモデルがあります:

public class House 
{ 
    public int ID { get; set; } 
    public string HouseName { get; set; } 
    public string Address1 { get; set; } 
    public int CityID { get; set; } 
    public City City { get; set; } 
    public string ZIP { get; set; } 
    public int StateID { get; set; } 
    public State State { get; set; } 
} 

を私はエラー以下しまっ:

public ApplicationDbContext() { } 

をし、次のエラーました:enter image description here

さて、私はApplicationDBContextにパラメータなしのコンストラクタを追加enter image description hereを。

実際に私は以前のプロジェクトで同じ問題があり、コントローラとビューを手動で作成しました。

しかし、このプロジェクトでは足場を使用したいと思います。

私は何か間違っているか、VS 2017プレビューの問題ですか?

答えて

2

あなたはこの部分が欠落することができる -

public class AppDbContextFactory : IDbContextFactory<AppDbContext> 
{ 
    public AppDbContext Create(string[] args) => 
     Program.BuildWebHost(args).Services.GetRequiredService<AppDbContext>(); 
} 

を、あなたのASP.NETコア2.0プロジェクトに足場を有効にすると「家」としてモデル名を作成したら、これらのsteps-

ステップ1に従ってください。 Solution ExplorerでControllersフォルダを右クリックし、Add> New Scaffolded Itemを選択します。

ステップ2:「MVC Controller with View、Entity Frameworkを使用」を選択し、「追加」をクリックします。

ステップ3: Add Controllerで、[House Model]を選択し、プラス記号(+)を使用して新しいAppDbContextを作成します。上記のAppDbContextFactoryも追加されます。 STEP3を終えた後

enter image description here

、あなたはコントローラフォルダにHousesControllerを持っているとビューのフォルダ内の住宅のフォルダを対応します。

これは私のAppDbContextはこれがさらに進行するのに役立ちます

public class AppDbContext : DbContext 
{ 
    public AppDbContext (DbContextOptions<AppDbContext> options) 
     : base(options) 
    { 
    } 

    public DbSet<AspNetCore200_VS2017preview1_scaffolding.Models.House> House { get; set; } 
} 

希望like-に見えています。 MCD \デバッグ\ netcoreapp1 \アプリケーション "ビン\デバッグ\のnetcoreapp1.1" に「ビンの次のパスの

+0

のための問題を解決し、今私は他のエラーを持っていない: 『現在の環境(製造)のための構成で見つかった『HTTPS』という名前の証明書を』 – Alexan

+0

アプリケーションでSSLを有効にしておく必要があります。。 – Sanket

+0

これは既に開発済みですが、同じエラーが発生します – Alexan

0

コピー内容。1"

をこれは私

関連する問題