簡體   English   中英

首先從現有數據庫中使用ef6代碼時,請取下數據庫表前綴

[英]Take off database table prefix when using ef6 code first from existing database

當使用EF6工具生成模型( 添加 -> 新項 -> 數據 -> ADO.NET實體數據模型 )並從數據庫中選擇“代碼優先 ”時,我的數據庫中有很多帶有前綴“ tbl”的表,例如tblCustomer ,EF以tbl為前綴生成所有類,如何編輯生成模板以去除那些前綴?

Rowan Miller在這篇博文中解釋了如何編輯這些生成模板,但是在EF Power Tools中自定義“逆向工程師代碼優先”,但不知道如何使用EF 6中的新合並工具來實現。

生成代碼優先模型后,只需更改類的名稱並使用DataAnnotations (查找“表和列”部分)映射到正確的表,您可能會更輕松。

using System.ComponentModel.DataAnnotations;

[Table("tblMyModel")]
public class MyModel {
    public int ID {get; set;}
    //etc
}

另外,您也可以使用FluentAPI。

protected override void OnModelCreating(DbModelBuilder modelBuilder) {
    modelBuilder.Entity<MyModel>()
        .ToTable("tblMyModel");
}

當然,這對於大型表結構可能不切實際,但是會起作用。

如果您想嘗試EF6提供的更高級的選項,可以閱讀Code First Conventions

暫無
暫無

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

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