EF使用Code First模式生成單數(shù)形式表名
使用Code-First模式生成數(shù)據(jù)庫(kù)時(shí),默認(rèn)生成的數(shù)據(jù)庫(kù)表的名稱為類型的復(fù)數(shù)形式,例如實(shí)體類名稱是"User",默認(rèn)生成的數(shù)據(jù)庫(kù)表名為“Users”,多數(shù)情況下我們并不想生成的數(shù)據(jù)庫(kù)表名為復(fù)數(shù)形式,那么應(yīng)該如何來控制呢?
當(dāng)我們想要自定義一些數(shù)據(jù)庫(kù)表的生成規(guī)則的時(shí)候,會(huì)重寫OnModelCreating()方法,控制生成的表名的單復(fù)數(shù)形式同樣可以在這個(gè)方法中完成,實(shí)現(xiàn)代碼如下:
using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.Entity.ModelConfiguration.Conventions; using 控制生成單數(shù)表名.Model; namespace 控制生成單數(shù)表名.DatabaseContext { public class OperationContext :DbContext { /// <summary> /// 構(gòu)造函數(shù):繼承父類,用來創(chuàng)建數(shù)據(jù)庫(kù) /// </summary> public OperationContext() : base("OrderManagerSystem") { } public DbSet<LoginRecordInfo> LoginRecordInfo { get; set; } /// <summary> /// 重新OnModelCreating()方法,解決EF使用Code First模式生成數(shù)據(jù)庫(kù)表名變?yōu)閺?fù)數(shù)的問題 /// </summary> /// <param name="modelBuilder"></param> protected override void OnModelCreating(DbModelBuilder modelBuilder) { // 解決EF使用Code First模式生成數(shù)據(jù)庫(kù)表名變?yōu)閺?fù)數(shù)的問題 modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); } } }
在OperationContext類中實(shí)現(xiàn)重寫OnModelCreating()方法。OperationContext類繼承自數(shù)據(jù)庫(kù)上下文DbContext。重寫OnModelCreating()方法需要引入下面的命名空間:
- using System.Data.Entity.ModelConfiguration.Conventions;
到此這篇關(guān)于EF使用Code First模式生成單數(shù)形式表名的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Visual?Studio2022創(chuàng)建WebAPI項(xiàng)目步驟記錄
不管是前后端分離還是提供數(shù)據(jù)服務(wù),WebApi使用的越來越廣泛,而且.NET Core也是我們.NET開發(fā)人員未來發(fā)展的趨勢(shì),所以說學(xué)會(huì)使用.NET Core Api是非常有必要的,這篇文章主要給大家介紹了關(guān)于Visual?Studio2022創(chuàng)建WebAPI項(xiàng)目步驟的相關(guān)資料,需要的朋友可以參考下2024-01-01asp.net實(shí)現(xiàn)DropDownList,TreeView,ListBox的無(wú)限極分類目錄樹
這篇文章主要介紹了asp.net實(shí)現(xiàn)DropDownList,TreeView,ListBox的無(wú)限極分類目錄樹,結(jié)合實(shí)例形式較為詳細(xì)的分析了asp.net常見控件實(shí)現(xiàn)無(wú)限極分類目錄樹的具體實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下2016-06-06.NET之后臺(tái)用戶權(quán)限管理實(shí)現(xiàn)
在功能性比較強(qiáng)大的后臺(tái)管理網(wǎng)站處于各種角度考慮多有應(yīng)用權(quán)限管理功能。以公司內(nèi)部管理系統(tǒng)為例,管理員根據(jù)不同員工所在不同部門賦予其不同權(quán)限,或者根據(jù)上下級(jí)隸屬關(guān)系實(shí)現(xiàn)“金字塔”管理。本文內(nèi)容有不盡不實(shí)之處懇請(qǐng)指正。2013-02-02Silverlight中同步調(diào)用WebClient的解決辦法,是同步!
如何建立web服務(wù)并引用的細(xì)節(jié),不是本文的介紹的目標(biāo),不再贅述。在silverlight調(diào)用服務(wù)器端服務(wù)的時(shí)候,默認(rèn)情況下是進(jìn)行異步調(diào)用的2011-04-04有潛在危險(xiǎn)的 Request.Form 值避免方法
在 .net framework 4.0中在 system.web 中加上httpRuntime requestValidationMode="2.0" 這句即可解決,需要的朋友可以了解下2013-12-12asp.net下xml當(dāng)作導(dǎo)航數(shù)據(jù)源實(shí)現(xiàn)動(dòng)態(tài)權(quán)限
如果有權(quán)限的話 可以通過節(jié)點(diǎn)的Roles屬性判斷當(dāng)前登陸的賬號(hào)角色名是否符合然后判斷輸出這樣的話您就可以直接操作XML數(shù)據(jù) 而不用考慮別的。2009-12-12.NET開發(fā)實(shí)現(xiàn)一個(gè)微信跳一跳的輔助程序
最近比較火的小游戲就是微信跳一跳了,下面這篇文章主要給大家介紹了關(guān)于如何利用.NET開發(fā)實(shí)現(xiàn)一個(gè)微信跳一跳輔助程序的相關(guān)資料,利用此輔助可以輕松的實(shí)現(xiàn)高分,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01