日期:2014-05-16  浏览次数:20461 次

Mysql EF Database First 生成标准C#规范的类文件结构
当采用EF的Database First反向Mysql数据库时,由于Mysql的数据库表都是小写的。这与C#的规范不同。虽然没错,但是看起来很不爽。如何解决呢。

假设现在要反射的数据库表名称为:
    customers

默认情况下:
   1、反向Database Frist时,生成的类文件为小写。如:customer.cs
    2、反向的类名称为小写:如public class customer{}
    3、反向之后,在DbContext继承类中的DbSet属性也是小写。如:public DbSet<customer> customers{get;set;}

而我们的目标就是实现全部首字母大写。

第一步:
    1、利用txt打开Model.edmx。将里面所有的customer替换为: Customer 。 特别要注意,如果你的表的名称较特殊,如type,由要小心,不要将一些关键词给替换了。
    2、用VS打开Model.tt (即生成所有数据库表对应的Object的template(模板);
    
替换为:

这里是C#代码。

这样就OK了,有可能要重新加载文件。或者是到Model Browser -》 Entity Types -> 双击Customer