原文:
使用 EF Power Tool Code Frist 生成 Mysql 实体
1,在要生成的项目上右键
2,
3,
4,
5, 生成后的效果
已知问题:
1,在Mysql数据表中 tinyint(1) ,会被映射成为 C# bool ,这样造成一些数据信息的丢失。 这个问题应该是EF 工具的问题,暂时没有找到解决方案。
手工去修改生成的实体是不经济的,下次再更新时候,又会变成 bool型 。
所以解决的办法就是修改数据库字段型 ,一般情况下,把数据类型向大里改是没有问题。
可选 : 改为 smallint(1) , 会被映射为 C# short 类型。
改为 tinyint(2) , 会被映射为 C# sbyte 。
这两种类型都可以满足一般情况下的要求了。
常用修改语句(下面是个例子,别直接Copy):
改为Tinyint(2)
alter table `数据库名`.`表名`
change `字段名` `字段名` tinyint(2) default '0' NOT NULL
或 改为smallinit(1)
alter table `数据库名`.`表名`
change `字段名` `字段名` smallint(1) default '0' NOT NULL