簡體   English   中英

EF代碼首先從Pascal Case Properties遷移到小寫字母列

[英]EF code first migrations from Pascal Case Properties to lower case columns

在Entity Framework 6 Code First中,有沒有一種方法(也許通過數據注釋或Fluent API),這樣即使我的模型類具有Pascal Casing屬性,Migrations生成的數據庫也具有小寫的列名?

即本課程:

 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

PS我正在使用MySQL數據庫...謝謝

是的,可以使用數據注釋[Table(“ table_name”)]和[Column(“ column_name”)]。

列名的一種更好的方法是在OnModelCreating()方法中編寫自定義約定 例如,類似

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

和你的表ID

modelBuilder
    .Properties()
    .Configure(p => p.IsKey().HasColumnName(///the name you want///));

我不確定表名的自定義約定,但是我個人的喜好是對表使用數據注釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM