我创建了一个类,它对 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; }
}
我已经创建了我的 Controller 。现在,当我运行该应用程序时,出现以下错误:
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
最佳答案
根据错误消息,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
关于c# - EF Code First 使用现有的 MySql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378331/