EF使用Code First模式生成單數(shù)形式表名
使用Code-First模式生成數(shù)據(jù)庫時,默認(rèn)生成的數(shù)據(jù)庫表的名稱為類型的復(fù)數(shù)形式,例如實體類名稱是"User",默認(rèn)生成的數(shù)據(jù)庫表名為“Users”,多數(shù)情況下我們并不想生成的數(shù)據(jù)庫表名為復(fù)數(shù)形式,那么應(yīng)該如何來控制呢?
當(dāng)我們想要自定義一些數(shù)據(jù)庫表的生成規(guī)則的時候,會重寫OnModelCreating()方法,控制生成的表名的單復(fù)數(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ù)庫
/// </summary>
public OperationContext()
: base("OrderManagerSystem")
{ }
public DbSet<LoginRecordInfo> LoginRecordInfo { get; set; }
/// <summary>
/// 重新OnModelCreating()方法,解決EF使用Code First模式生成數(shù)據(jù)庫表名變?yōu)閺?fù)數(shù)的問題
/// </summary>
/// <param name="modelBuilder"></param>
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// 解決EF使用Code First模式生成數(shù)據(jù)庫表名變?yōu)閺?fù)數(shù)的問題
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
}在OperationContext類中實現(xiàn)重寫OnModelCreating()方法。OperationContext類繼承自數(shù)據(jù)庫上下文DbContext。重寫OnModelCreating()方法需要引入下面的命名空間:
- using System.Data.Entity.ModelConfiguration.Conventions;
到此這篇關(guān)于EF使用Code First模式生成單數(shù)形式表名的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ASP.NET也像WinForm程序一樣運行的實現(xiàn)方法
我們今天要談到的是讓ASP.NET的程序也像WinForm一樣的運行,這樣就不需要安裝IIS或者Visual Studio這樣的特定環(huán)境了2012-01-01
詳解ASP.NET Core應(yīng)用中如何記錄和查看日志
本篇文章主要介紹了ASP.NET Core應(yīng)用中如何記錄和查看日志,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2016-12-12
ASP.NET?Core?MVC中Tag?Helpers用法介紹
這篇文章介紹了ASP.NET?Core?MVC中Tag?Helpers的用法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02
Asp.Net 網(wǎng)站性能優(yōu)化之緩字決 (上) 緩沖寫數(shù)據(jù)
通常情況下Asp.Net 網(wǎng)站的底層數(shù)據(jù)存儲都是關(guān)系數(shù)據(jù)庫,關(guān)系數(shù)據(jù)庫資源比較昂貴,而且也很容易造成瓶頸。緩字決文章就是為大家介紹如何有效使用緩存,異步寫緩沖數(shù)據(jù)庫的壓力,從而保證網(wǎng)站的性能。2010-06-06
在.NET使用JSON作為數(shù)據(jù)交換格式實例演示
JSON(JavaScript Object Notation)是一種輕量級輕量級的數(shù)據(jù)交換格式,并且它獨立于編程語言,接下來為大家介紹下使用JSON作為數(shù)據(jù)交換格式在.net中的應(yīng)用2013-03-03
asp.net(c#)網(wǎng)頁跳轉(zhuǎn)七種方法小結(jié)
在asp.net下,經(jīng)常需要頁面的跳轉(zhuǎn),下面是具體的幾種方法。跳轉(zhuǎn)頁面是大部編輯語言中都會有的,正面我們來分別介紹一下關(guān)于.net中response.redirect sever.execute server.transfer 三種頁面跳轉(zhuǎn)的方法2009-11-11
.Net下二進制形式的文件(圖片)的存儲與讀取詳細(xì)解析
以下是對.Net下二進制形式的文件(圖片)的存儲與讀取進行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-09-09
.NET 8 中如何利用 MediatR 實現(xiàn)高效消息傳遞
這篇文章主要介紹了.NET 8 中利用 MediatR 實現(xiàn)高效消息傳遞,示例不僅說明了如何使用MediatR?來處理通知,還說明了如何實現(xiàn)通知處理模式,需要的朋友可以參考下2024-08-08

