0

MySqlデータベースの既存のテーブルをモデル化するクラスを作成しました。以下はクラスです:

  public class class1
{
    [Key]
    public int id { get; set; }

    public int LastName { get; set; }
    public int FirstName { get; set; }

}

このクラスも作成しました。

public class Dbo : DbContext
{
    public DbSet<class1> Classs { get; set; }
}

コントローラを作成しました。アプリケーションを実行すると、次のエラーが発生します。

 MySql.Data.MySqlClient.MySqlException was unhandled by user code
  Message=You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    `LastName` int NOT NULL, 
    `Fi' at line 2
  Source=MySql.Data
  ErrorCode=-2147467259
  Number=1064

MySqlテーブルの構造は次のとおりです。

    `id` int(11) NOT NULL,
  `LastName` int(11) NOT NULL,
  `FirstName` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT
4

1 に答える 1

1

エラーメッセージによると、EFはあなたのためにDbを作成しようとしています。

null初期化子を追加すると、機能するはずです

    public class Dbo : DbContext
    {
        public DbSet<class1> Classs { get; set; }
        public Dbo()
        {
            Database.SetInitializer<Dbo>(null);
        }
    }

これは別のcodeprojectの記事で、私にとってはうまくいきました。既存のデータベースでEntityFramework4.1コードを最初に使用する

于 2012-11-14T12:26:08.037 に答える