[英]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.