当采用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