日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

EF使用Code?First模式生成單數形式表名_實用技巧

作者:.NET開發菜鳥 ? 更新時間: 2022-05-03 編程語言

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

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

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 控制生成單數表名.Model;

namespace 控制生成單數表名.DatabaseContext
{
    public class OperationContext :DbContext
    {
        /// 
        /// 構造函數:繼承父類,用來創建數據庫
        /// 
        public OperationContext()
            : base("OrderManagerSystem")
        { }


        public DbSet LoginRecordInfo { get; set; }

        /// 
        /// 重新OnModelCreating()方法,解決EF使用Code First模式生成數據庫表名變為復數的問題
        /// 
        /// 
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            // 解決EF使用Code First模式生成數據庫表名變為復數的問題
            modelBuilder.Conventions.Remove();
        }
    }
}

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

  • using System.Data.Entity.ModelConfiguration.Conventions;

原文鏈接:https://www.cnblogs.com/dotnet261010/p/7279609.html

欄目分類
最近更新