iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >EF使用CodeFirst模式生成单数形式表名
  • 438
分享到

EF使用CodeFirst模式生成单数形式表名

2024-04-02 19:04:59 438人浏览 薄情痞子
摘要

使用Code-First模式生成数据库时,默认生成的数据库表的名称为类型的复数形式,例如实体类名称是"User",默认生成的数据库表名为“Users&

使用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
    {
        /// <summary>
        /// 构造函数:继承父类,用来创建数据库
        /// </summary>
        public OperationContext()
            : base("OrderManagerSystem")
        { }


        public DbSet<LoginRecordInfo> LoginRecordInfo { get; set; }

        /// <summary>
        /// 重新OnModelCreating()方法,解决EF使用Code First模式生成数据库表名变为复数的问题
        /// </summary>
        /// <param name="modelBuilder"></param>
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            // 解决EF使用Code First模式生成数据库表名变为复数的问题
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        }
    }
}

在OperationContext类中实现重写OnModelCreating()方法。OperationContext类继承自数据库上下文DbContext。重写OnModelCreating()方法需要引入下面的命名空间:

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

到此这篇关于EF使用Code First模式生成单数形式表名的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。 

--结束END--

本文标题: EF使用CodeFirst模式生成单数形式表名

本文链接: https://www.lsjlt.com/news/141063.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • EF使用CodeFirst模式生成单数形式表名
    使用Code-First模式生成数据库时,默认生成的数据库表的名称为类型的复数形式,例如实体类名称是"User",默认生成的数据库表名为“Users&...
    99+
    2024-04-02
  • EF中怎么使用Code First模式生成单数形式表名
    今天小编给大家分享一下EF中怎么使用Code First模式生成单数形式表名的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2023-06-29
  • EF使用CodeFirst模式给实体类添加复合主键
    using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations...
    99+
    2024-04-02
  • EntityFramework使用CodeFirst模式管理数据库
    一、管理数据库连接 1、使用配置文件管理连接之约定 在数据库上下文类中,如果我们只继承了无参数的DbContext,并且在配置文件中创建了和数据库上下文类同名的连接字符串,那么EF会...
    99+
    2024-04-02
  • 使用EF的Code First模式操作数据库
    EF的核心程序集位于System.Data.Entity.dll和System.Data.EntityFramework.dll中。支持CodeFirst的位于EntityFrame...
    99+
    2024-04-02
  • python如何使用列表生成式
    这篇文章主要为大家展示了“python如何使用列表生成式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何使用列表生成式”这篇文章吧。多多使用列表生成式替换下面代码:cube_num...
    99+
    2023-06-27
  • 如何使用JavaScript策略模式校验表单
    目录概述未使用策略模式的表单校验使用策略模式优化策略模式的优点总结概述 Web项目中,登录,注册等等功能都需要表单提交,当把用户的数据提交给后台之前,前端一般要做一些力所能及的校验,...
    99+
    2024-04-02
  • 怎么使用JavaScript策略模式校验表单
    小编给大家分享一下怎么使用JavaScript策略模式校验表单,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!javascript是一种什么语言javascript...
    99+
    2023-06-14
  • Python中列表推导和生成器表达式如何使用
    Python中列表推导和生成器表达式如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 序列序列是指一组数据,按存放类型分为容器序列与扁平序列,按能否被修改分为不...
    99+
    2023-06-15
  • MySQL 虚拟生成列如何与数学表达式一起使用?
    可以借助一个示例进行说明,在该示例中,我们在名为“triangle”的表中创建一个虚拟生成的列。我们知道,可以使用或不使用关键字“virtual”来生成虚拟生成列。示例mysql> Create table triangle(Side...
    99+
    2023-10-22
  • C++使用智能指针实现模板形式的单例类
    本文通过实例为大家分享了C++使用智能指针实现模板形式的单例类的具体代码,供大家参考,具体内容如下 实现一个模板形式的单例类,对于任意类型的类经过Singleton的处理之后,都能获...
    99+
    2024-04-02
  • 如何使用策略模式与装饰模式扩展JavaScript表单验证功能
    这篇文章主要介绍了如何使用策略模式与装饰模式扩展JavaScript表单验证功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。简单的表单验证...
    99+
    2024-04-02
  • MySQL 存储的生成列如何与数学表达式一起使用?
    可以通过一个示例来说明,在该示例中,我们在名为“triangle_stored”的表中创建一个存储的生成列。我们知道,存储生成列可以通过使用关键字“stored”来生成。示例mysql> Create table triangle_s...
    99+
    2023-10-22
  • c++使用单例模式实现命名空间函数案例详解
    本案例实现一个test命名空间,此命名空间内有两个函数,分别为getName()和getNameSpace(); 声明命名空间及函数 namespace test{ ...
    99+
    2023-05-17
    c++命名空间函数 c++单例模式
  • 使用 PHP 函数创建交互式 Web 表单
    php 中提供了函数用于创建和处理交互式 web 表单,包括:创建表单元素(使用 html 定义字段);使用 $_post 或 $_get 访问表单数据;使用 filter_var() ...
    99+
    2024-04-24
    php web 表单 用户注册
  • 如何使用PHP7的匿名类实现简单的单例设计模式?
    如何使用PHP7的匿名类实现简单的单例设计模式?在PHP开发中,单例设计模式被广泛应用于需要确保类的实例只存在一个的场景。而PHP7引入的匿名类使得实现单例模式变得更加简单和优雅。本文将介绍如何利用PHP7的匿名类来实现简单的单例设计模式,...
    99+
    2023-10-22
    PHP 匿名类 单例设计模式
  • sql server使用公用表表达式CTE通过递归方式如何编写通用函数自动生成连续数字和日期
    sql server使用公用表表达式CTE通过递归方式如何编写通用函数自动生成连续数字和日期,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。问题...
    99+
    2024-04-02
  • 怎么使用Python reflect单例模式反射各个函数
    这篇文章主要介绍“怎么使用Python reflect单例模式反射各个函数”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Python reflect单例模式反射各个函数”...
    99+
    2023-06-30
  • 如何使用PHP7的匿名类实现更加灵活的单例模式?
    如何使用PHP7的匿名类实现更加灵活的单例模式?单例模式是一种常用的设计模式,它保证一个类只有一个实例,并且提供一个全局的访问点。在PHP中,实现单例模式通常使用静态变量和方法来保证只创建一个实例。然而,在PHP7中,我们可以使用匿名类来实...
    99+
    2023-10-22
    PHP 单例模式 匿名类
  • 如何使用python正则表达式模块中的re.findall()函数
    本篇内容主要讲解“如何使用python正则表达式模块中的re.findall()函数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用python正则表达式模块中的re.findall()函...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作