日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

【转】EntityFramework使用Code First模式创建数据库控制生成单数形式的表名

發布時間:2023/12/10 数据库 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】EntityFramework使用Code First模式创建数据库控制生成单数形式的表名 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用Code-First模式生成數據庫時,默認生成的數據庫表的名稱為類型的復數形式,例如實體類名稱是"User",默認生成的數據庫表名為“Users”,多數情況下我們并不想生成的數據庫表名為復數形式,那么應該如何來控制呢?

當我們想要自定義一些數據庫表的生成規則的時候,會重寫OnModelCreating()方法,控制生成的表名的單復數形式同樣可以在這個方法中完成,實現代碼如下:

1 using System;2 using System.Collections.Generic;3 using System.Data.Entity;4 using System.Linq;5 using System.Text;6 using System.Threading.Tasks;7 using System.Data.Entity.ModelConfiguration.Conventions;8 using 控制生成單數表名.Model;9 10 namespace 控制生成單數表名.DatabaseContext 11 { 12 public class OperationContext :DbContext 13 { 14 /// <summary> 15 /// 構造函數:繼承父類,用來創建數據庫 16 /// </summary> 17 public OperationContext() 18 : base("OrderManagerSystem") 19 { } 20 21 22 public DbSet<LoginRecordInfo> LoginRecordInfo { get; set; } 23 24 /// <summary> 25 /// 重新OnModelCreating()方法,解決EF使用Code First模式生成數據庫表名變為復數的問題 26 /// </summary> 27 /// <param name="modelBuilder"></param> 28 protected override void OnModelCreating(DbModelBuilder modelBuilder) 29 { 30 // 解決EF使用Code First模式生成數據庫表名變為復數的問題 31 modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); 32 } 33 } 34 }

在OperationContext類中實現重寫OnModelCreating()方法。OperationContext類繼承自數據庫上下文DbContext。重寫OnModelCreating()方法需要引入下面的命名空間:
using System.Data.Entity.ModelConfiguration.Conventions;

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的【转】EntityFramework使用Code First模式创建数据库控制生成单数形式的表名的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。