1
「モデルを取得するために、DbContextの作成中にエラーが発生しました」足場項目を追加し、私は.NETのコア - 私は私のプロジェクトのための新しい足場アイテムを作成しようとするたびに
を示すエラーを受け取ります私は私のプロジェクトを再建しようとしましたが、私は足場を以前に生成して成功していましたが、今何らかの理由でこれを成功させることはできませんでした。私は最後に新しい足場のアイテムを追加して以来、私のコンテキストクラスに変更は行われていません。
私はモデルに空のコンストラクタを作成しようとしましたが、それでも同じエラーが発生します。私が足場にしようとしている私のモデルと、私の状況について、私のコードを見つけることができます。
namespace HRIAT.Models
{
public class Credential
{
public Credential() { }
public int ID { get; set; }
public string credentialName { get; set; }
public FundingSource credentialFundingSource { get; set; }
public string credentialType { get; set; }
public float credentialCost { get; set; }
public ICollection<Employee> ec { get; set; }
}
}
Contextクラス:プロジェクトのエンティティが空のコンストラクタが含まれていない場合
namespace HRIAT.Models
{
public class HRIATContext : DbContext
{
public HRIATContext(DbContextOptions<HRIATContext> options)
: base(options)
{
}
public DbSet<FundingSource> FundingSource { get; set; }
public DbSet<Credential> Credential { get; set; }
public DbSet<Employee> Employee { get; set; }
public DbSet<EmployeesCredentials> EmployeeCredential { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<EmployeesCredentials>().HasKey(c => new { c.CredentialID, c.employeeNum });
}
public DbSet<Position> Positions { get; set; }
public DbSet<Department> Departments { get; set; }
public DbSet<Location> Locations { get; set; }
}
}
あなたは私のモデルは.csファイル内の空のコンストラクタを参照している:あなたは、エンティティクラスを保護する必要がある場合
は、保護されたコンストラクタ、例を使うのか?私は以前のものではコンストラクタを持っていませんでしたが、足場を早く生成することができました。 – Kyler45
空のコンストラクタをクラスに追加しましたが、実際には同じエラーが実際に発生します。 – Kyler45
クラスモデルで空のコンストラクタである必要があります。空のコンストラクタはC#で暗黙のうちに覚えていますが、パラメータ化されたコンストラクタをインクルードすると、クラスにパラメータを含むコンストラクタが存在する場合、空のコンストラクタは存在しなくなります。より多くの情報とソースコードを含む質問を編集することができないと言ったように、エラーメッセージだけに基づいて言うことができません。 –