我创建了一个在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
答案 0 :(得分: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