在Entity Framework 6 Code中,是否有一种方法(可能通过Data Annotations或Fluent API),以便Migrations生成的数据库具有小写列名,即使我的模型类具有Pascal Casing属性?
即。这堂课:
public class Person
{
public int PersonId { get; set; }
public string FirstName { get; set; }
public string Surname { get; set; }
}
应映射到此表(即迁移应生成此表):
person
person
firstname
surname
甚至这样的事情会很好:
person
person_id
first_name
surname
P.S。我正在使用MySQL数据库......谢谢
答案 0 :(得分:0)
是的,可以使用数据注释[Table(“ table_name”)]和[Column(“ column_name”)]]。
一种更好的列名方法是在OnModelCreating()方法中使用write custom conventions。例如,类似
modelBuilder
.Properties()
.Configure(p => p.HasColumnName(p.ClrPropertyInfo.Name.ToLower()));
并提供您的表ID
modelBuilder
.Properties()
.Configure(p => p.IsKey().HasColumnName(///the name you want///));
我不确定表名的自定义约定,但是我个人偏爱对表使用数据注释。