2017-03-13 9 views
2

私はこのエラー無効なオブジェクト名(ASP.NET MVC)

無効なオブジェクト名 'dbo.Vacancies'

を持っているしかし、私は欠員 のモデルは、ここでは

public partial class Vacancy 
{ 
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] 
    public Vacancy() 
    { 
     this.Interwiers = new HashSet<Interwier>(); 
     this.InvitationMails = new HashSet<InvitationMail>(); 
    } 

    [Key] 
    public int Vacancy_Id { get; set; } 
    [Display(Name="Вакансия")] 
    public string VacancyName { get; set; } 
    public Nullable<int> CompanyID { get; set; } 

    public virtual Company Company { get; set; } 
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] 
    public virtual ICollection<Interwier> Interwiers { get; set; } 
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] 
    public virtual ICollection<InvitationMail> InvitationMails { get; set; } 
} 
である必要があり

}

また、空席テーブルがあります。

IdentityModels

public System.Data.Entity.DbSet<SmartSolutions.Models.Vacancy> Vacancies { get; set; } 

で私が持っているこのコードは、ここで私はテーブルからデータを表示しようとするビューのコードです。ここで

// GET: VacanciesAll 
public ActionResult Index() 
{ 
    var vacancies = db.Vacancies.Include(v => v.Company); 
    return View(vacancies.ToList()); 
} 

はここで表 enter image description here

あるenter image description here なぜ私が取得エラーEF テーブルでありますか?

答えて

2

テーブルがSQLデータベースに存在するかどうかを確認してください。たぶんあなたのデータベースには存在しないので、エラーです。

enter image description here

表が存在する場合は、DbContextで正しいテーブル名にごEFテーブルをマッピングしていることを確認してください。

+0

@は、あなたのテーブル名が 'Vacancy'または' Vacancies'あるE.S。私はそれが問題だと思う。あなたのマッピングはEFでは正しくありません。 – Sadique

+0

空室ですが、私はこの 'public System.Data.Entity.DbSet 空室{get;セット; } 'それですべては大丈夫です。 –

+0

これを' System.Data.Entity.DbSet Vacancy {get;}に変更してください。セット; } 'と試してみてください。型ではなくObjectの名前をマップする必要があります。 – Sadique

0

EFレイヤーを確認してください[SSDL - CSDL - MSL] これはあなたのEF層とデータベースエンジンとの間に矛盾である

+0

既に問題が修正されています –

関連する問題