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

 更新时间:2022年03月02日 15:09:52   作者:.NET开发菜鸟  
这篇文章介绍了EF使用Code First模式生成单数形式表名的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

使用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模式生成单数形式表名的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。 

相关文章

  • Vistual Studio 2010 精品插件收集

    Vistual Studio 2010 精品插件收集

    Vistual Studio 2010 精品插件收集,方便从事.net开发的朋友。
    2011-10-10
  • WPF框架Prism中使用MVVM架构

    WPF框架Prism中使用MVVM架构

    这篇文章介绍了WPF框架Prism中使用MVVM架构的方式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • Visual Studio2022创建WebAPI项目步骤记录

    Visual Studio2022创建WebAPI项目步骤记录

    不管是前后端分离还是提供数据服务,WebApi使用的越来越广泛,而且.NET Core也是我们.NET开发人员未来发展的趋势,所以说学会使用.NET Core Api是非常有必要的,这篇文章主要给大家介绍了关于Visual Studio2022创建WebAPI项目步骤的相关资料,需要的朋友可以参考下
    2024-01-01
  • 加密web.config的方法分享

    加密web.config的方法分享

    加密web.config的方法分享,需要的朋友可以参考一下
    2013-03-03
  • asp.net实现DropDownList,TreeView,ListBox的无限极分类目录树

    asp.net实现DropDownList,TreeView,ListBox的无限极分类目录树

    这篇文章主要介绍了asp.net实现DropDownList,TreeView,ListBox的无限极分类目录树,结合实例形式较为详细的分析了asp.net常见控件实现无限极分类目录树的具体实现步骤与相关操作技巧,需要的朋友可以参考下
    2016-06-06
  • .NET之后台用户权限管理实现

    .NET之后台用户权限管理实现

    在功能性比较强大的后台管理网站处于各种角度考虑多有应用权限管理功能。以公司内部管理系统为例,管理员根据不同员工所在不同部门赋予其不同权限,或者根据上下级隶属关系实现“金字塔”管理。本文内容有不尽不实之处恳请指正。
    2013-02-02
  • Silverlight中同步调用WebClient的解决办法,是同步!

    Silverlight中同步调用WebClient的解决办法,是同步!

    如何建立web服务并引用的细节,不是本文的介绍的目标,不再赘述。在silverlight调用服务器端服务的时候,默认情况下是进行异步调用的
    2011-04-04
  • 有潜在危险的 Request.Form 值避免方法

    有潜在危险的 Request.Form 值避免方法

    在 .net framework 4.0中在 system.web 中加上httpRuntime requestValidationMode="2.0" 这句即可解决,需要的朋友可以了解下
    2013-12-12
  • asp.net下xml当作导航数据源实现动态权限

    asp.net下xml当作导航数据源实现动态权限

    如果有权限的话 可以通过节点的Roles属性判断当前登陆的账号角色名是否符合然后判断输出这样的话您就可以直接操作XML数据 而不用考虑别的。
    2009-12-12
  • .NET开发实现一个微信跳一跳的辅助程序

    .NET开发实现一个微信跳一跳的辅助程序

    最近比较火的小游戏就是微信跳一跳了,下面这篇文章主要给大家介绍了关于如何利用.NET开发实现一个微信跳一跳辅助程序的相关资料,利用此辅助可以轻松的实现高分,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01

最新评论