使用 EF Power Tool Code Frist 生成 Mysql 实体

1,在要生成的项目上右键

image

 

2,

image

 

3,

image

 

4,

image

 

5,  生成后的效果

image

 

 

已知问题:

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

posted @ 2014-03-26 16:35  张保维  阅读(848)  评论(1编辑  收藏  举报