2017-04-25 17 views
0

私はデータベースに簡単なデータ挿入をしようとしていますが、次のエラーが表示されます: "無効なオブジェクト名dbo"。C# - エンティティフレームワークエラー:無効なオブジェクト名 'dbo.TableName'

詳細...私は別のテストで同じコードを基本的に行いましたが、SQL Management Studioでテーブルとデータベースを作成しました。さて、Empty EF Designerモデルを使用してビジュアルスタジオで作成しました。

マイ挿入コード:

private void button1_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     using (AlunoModelContainer ctx = new AlunoModelContainer()) { 
      tb_alunos student = new tb_alunos(); 

     student.nome_aluno = textBox1.Text; 
     student.idade_aluno = textBox2.Text; 
     student.curso_aluno = textBox4.Text; 
     student.endereco_aluno = textBox5.Text; 

     ctx.Alunos.Add(student); 
     ctx.SaveChanges(); 
     MessageBox.Show("Estudante cadastrado com sucesso"); 
     } 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show("Usuário não pôde ser cadastrado." + ex.ToString()); 
    } 

} 

マイデシベルコンテキストコード:

namespace Sistema_Alunos 
{ 
    using System; 
    using System.Data.Entity; 
    using System.Data.Entity.Infrastructure; 

    public partial class AlunoModelContainer : DbContext 
    { 
     public AlunoModelContainer() 
      : base("name=AlunoModelContainer") 
     { 
     } 

     protected override void OnModelCreating(DbModelBuilder modelBuilder) 
     { 
      throw new UnintentionalCodeFirstException(); 
     } 

     public virtual DbSet<tb_alunos> Alunos { get; set; } 
    } 
} 

そして、私のフォルダ構造のシンプルな画像:

enter image description here

+0

がどのテーブル名と行投げるエラー(単一のテーブルまたはDB内のすべてのテーブルの上に)存在しないのですか?私はあなたがCode First Migrationsを試みているのを見ています。それはテーブルの関係や幾分「複数化」と関連しているかもしれません。 –

+0

取得したエラーの詳細を表示します。また、エンティティモデルビューを追加します。 –

答えて

0

に次の行を追加してみてくださいあなたのコード。それはデータベースのテーブルにマッピングすることはできませんので

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
     modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); 
} 
0

あなたのパーシャルクラスtb_alunosは、[表(「tb_alunos」)]属性がありません。

これを試してみてください:

[Table("tb_alunos")] 
public partial class tb_alunos 
{ 
    public int alunoID { get; set; } 
    public string nome_aluno { get; set; } 
    public string curso_aluno { get; set; } 
    public string endereco_aluno { get; set; } 
    public string idade__aluno { get; set; } 

} 
関連する問題