私は答えを探していて、適切なものを見つけることができませんでした。私は1と2つのモデルがあります:*で開始するための関係:.HasRequiredモデルで働くことができません
namespace test.Models
{
public class Blog
{
public int Id { get; set; }
public string Title { get; set; }
public string BloggerName { get; set; }
public virtual ICollection<Post> Posts { get; set; }
}
}
namespace test.Models
{
public class Post
{
public int Id { get; set; }
public string Title { get; set; }
public DateTime DateCreated { get; set; }
public string Content { get; set; }
public int BlogId { get; set; }
public Blog Blog { get; set; }
}
}
そして、私のApplicationDbContext
は次のとおりです。
namespace test.Models
{
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public DbSet<Post> Post { get; set; }
public DbSet<Blog> Blog { get; set; }
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
base.OnModelCreating(builder);
builder.Entity<Post>().HasRequired(p => p.Blog);
}
}
}
しかし、私はエラーを取得:
CS1061: 'をEntityTypeBuilder 'には' HasRequiered 'の定義が含まれておらず、' EntityTypeBuilder 'タイプの最初の引数を受け入れる拡張メソッド' HasRequiered 'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありません)
私はこれに新しいので、様々なチュートリアルに従っていますが、このようにすべての使用を推奨します。どんな助けでも大歓迎です。私がしたいのは、<post>
が常にブログの一部であることを保証することだけです。 HasRequiered
はこのエラーで常に赤で表示されます。
はそれだけで誤植ではないですか?それは 'HasRequiered'ではなく' HasRequired'です –
コンテキストクラスの先頭からusingディレクティブを追加してください。 – pluralMonad
また、namespaceを使用してみてください。using System.Data.Entity.ModelConfiguration.Conventions; –