gpt4 book ai didi

.net - EF 代码首先从 Pascal Case Properties 迁移到小写列

转载 作者:行者123 更新时间:2023-12-04 13:48:01 24 4
gpt4 key购买 nike

在 Entity Framework 6 Code First 中,有没有办法(可能通过数据注释或 Fluent API)使迁移生成的数据库具有小写列名,即使我的模型类具有 Pascal Casing 属性?

IE。这节课:

 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

附言我正在使用 MySQL 数据库...谢谢

最佳答案

是的,可以使用数据注释 [Table("table_name")] 和 [Column("column_name")]。

列名的更好方法是 write custom conventions在您的 OnModelCreating() 方法中。例如,像

modelBuilder
.Properties()
.Configure(p => p.HasColumnName(p.ClrPropertyInfo.Name.ToLower()));

并为您的表 ID
modelBuilder
.Properties()
.Configure(p => p.IsKey().HasColumnName(///the name you want///));

我不确定表名的自定义约定,但我个人的偏好是对我的表使用数据注释。

关于.net - EF 代码首先从 Pascal Case Properties 迁移到小写列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42084318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com