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);
        }
    }

这是另一篇代码项目文章,它对我有用:Using Entity Framework 4.1 Code First with an existing database

于 2012-11-14T12:26:08.037 回答