【转】EntityFramework使用Code First模式创建数据库控制生成单数形式的表名

使用Code-First模式生成数据库时,默认生成的数据库表的名称为类型的复数形式,例如实体类名称是"User",默认生成的数据库表名为“Users”,多数情况下我们并不想生成的数据库表名为复数形式,那么应该如何来控制呢?

当我们想要自定义一些数据库表的生成规则的时候,会重写OnModelCreating()方法,控制生成的表名的单复数形式同样可以在这个方法中完成,实现代码如下:

 1 using System;2 using System.Collections.Generic;3 using System.Data.Entity;4 using System.Linq;5 using System.Text;6 using System.Threading.Tasks;7 using System.Data.Entity.ModelConfiguration.Conventions;8 using 控制生成单数表名.Model;9 
10 namespace 控制生成单数表名.DatabaseContext
11 {
12     public class OperationContext :DbContext
13     {
14         /// <summary>
15         /// 构造函数:继承父类,用来创建数据库
16         /// </summary>
17         public OperationContext()
18             : base("OrderManagerSystem")
19         { }
20 
21 
22         public DbSet<LoginRecordInfo> LoginRecordInfo { get; set; }
23 
24         /// <summary>
25         /// 重新OnModelCreating()方法,解决EF使用Code First模式生成数据库表名变为复数的问题
26         /// </summary>
27         /// <param name="modelBuilder"></param>
28         protected override void OnModelCreating(DbModelBuilder modelBuilder)
29         {
30             // 解决EF使用Code First模式生成数据库表名变为复数的问题
31             modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
32         }
33     }
34 }

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436660.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

0803

“同”表示完全相同的产品。产品后的数字是价钱。AMD的CPU只能配AMD的主板&#xff0c;INTEL亦然。在最后&#xff0c;给出了一5500元的液晶家用配置 -----------------CPUINTEL Celeron D 331&#xff08;散装&#xff09; /600AMD Sempron 2600&#xff08;754盒装&#xff0…

linux grep子目录,linux grep搜索文件中的字符串

从文件中查找关键词grep linux text.txt //查找包含 linux的关键词[rootlocalhost ~]# grep root /etc/grouproot:x:0:rootbin:x:1:root,bin,daemon从多个文件中查找关键词[rootlocalhost ~]# grep root /etc/group /etc/my.cnf/etc/group:root:x:0:root/etc/my.cnf:user root…

【转】云服务器cvm 云服务器ecs区别

1、全称 cvm的英文全拼是 Cloud Virtual Machine &#xff08;云虚拟机&#xff09; ecs的英文全拼是 Elastic Compute Service&#xff08;弹性计算服务&#xff09; 2、对比 云服务器cvm是普遍的虚拟云服务器统称&#xff0c;是一种简单高效、安全可靠、处理能…

linux make怎么运行,Linux Make 命令教程

原标题&#xff1a;Linux Make 命令教程来自&#xff1a;阮一峰的网络日志链接&#xff1a;www.ruanyifeng.com/blog/2015/02/make.html代码变成可执行文件&#xff0c;叫做编译(compile)&#xff1b;先编译这个&#xff0c;还是先编译那个(即编译的安排)&#xff0c;叫做构建(…

快速了解c#中的索引器

快速了解c#中的索引器 C#中的索引器是新增加的&#xff0c;和属性有些不同。在c#中&#xff0c;属性可以是这样的&#xff1a;class Person {private string firstname;public string FirstName {get {return firstname;}set {firstname value;}}} 属性声明可以如下编码&#…

【转】C#运算符重载**

https://www.yiibai.com/csharp/csharp_operator_overloading.html 在C#中&#xff0c;可以重新定义或重载大多数内置运算符。 因此&#xff0c;程序员也可以使用具有用户定义类型的运算符。重载运算符是具有特殊名称的功能&#xff0c;关键字operator后跟定义运算符的符号。 类…

图形工具包 linux,GTK 4.0图形工具包正式发布:时隔四年的重大版本!

GTK是用于创建图形用户界面的工具包&#xff0c;GTK提供了一整套的小部件&#xff0c;适用于从小型一次性工具到完整的应用程序套件的项目。GTK是GNOME开发平台的核心&#xff0c;但是它也可以用于编写其他Linux环境的应用程序&#xff0c;以及针对微软Windows和苹果macOS的应用…

引用到网站绝对路径Server.MapPath(~/myfile.mdb)

在任何路径下&#xff0c;都可以用Server.MapPath("~/")引用到网站根目录下 转载于:https://www.cnblogs.com/yurichou/archive/2005/10/17/256357.html

【转】继承过程中 父类子类的 字段方法 内存分配 (非java语言)

名人名言&#xff1a;思想好比火星&#xff1a;一颗火星会点燃另一颗火星。一个深思熟虑的教师和班主任&#xff0c;总是力求在集体中创造一种共同热爱科学和渴求知识的气氛&#xff0c;使智力兴趣成为一些线索&#xff0c;以其真挚的、复杂的关系——即思想的相互关系把一个个…

linux设备驱动学习,linux设备驱动学习4

Linux设备驱动程序学习(4)-高级字符驱动程序操作&#xff3b;(1)ioctl and llseek&#xff3d;今天进入《Linux设备驱动程序(第3版)》第六章高级字符驱动程序操作的学习。一、ioctl大部分设备除了读写能力&#xff0c;还可进行超出简单的数据传输之外的操作&#xff0c;所以设备…

几个删除重复记录的SQL语句

几个删除重复记录的SQL语句在大的数据库应用中&#xff0c;经常因为各种原因遇到重复的记录&#xff0c;造成数据的冗余和维护上的不便。1.用rowid方法2.用group by方法3.用distinct方法 1。用rowid方法据据oracle带的rowid属性&#xff0c;进行判断&#xff0c;是否存在重复,语…

【转】产品经理如何进行BRD,MRD,PRD,DRD,FRD编写

转载自&#xff1a;http://minjiechenjava.iteye.com/blog/2304490&#xff0c; 侵删 PRD文档即产品需求文档&#xff0c;也叫业务需求文档。是产品项目由“概念化”阶段进入到“图纸化”阶段的最主要的一个文档。 产品需求文档的作用就是“对MRD中的内容进行指标化和技术化”…

linux磁盘永久挂载教程,linux 永久磁盘挂载

包年包月实例过期后&#xff0c;如果未在规定时间内续费&#xff0c;实例和磁盘均会自动释放&#xff0c;数据永久丢失&#xff0c;无法找回。关于预付费资源过期后的状态变化&#xff0c;请参考 预付费(包年包月)。在使用包年包月实例过程中&#xff0c;如果您觉得当前实例配置…

[代码阅读] ECS toString实现方法

引言 ECS 提供了一种编程方式来生成以不同标记语言编写的文档。它设计为通过面向对象的抽象来生成所有标签。 ECS 目前版本为1.4.2 &#xff0c;支持 HTML 4.0 和 XML 。 因为工作原因&#xff0c;作者粗略读了ECS的部分原代码&#xff0c;着重了解ECS如果通过toString方法…

【转】设备数据通过Azure Functions 推送到 Power BI 数据大屏进行展示

设备数据通过Azure Functions 推送到 Power BI 数据大屏进行展示&#xff08;1.准备工作&#xff09; 原创 Sean Yu 云计算实战 2019-12-06 本案例适用于开发者入门理解Azure Functions/ IoT Hub / Service Bus / Power BI等几款产品。 主要实战的内容为&#xff1a; 将设备遥…

linux系统管理Linux系统实验,实验三 linux系统管理

实验三 linux系统管理【实验目的】练习Linux系统管理&#xff0c;熟悉Linux系统管理。【实验要求】通过Liunx用户和组管理、设备管理、文件系统管理、进程管理和shell程序设计&#xff0c;能够掌握linux系统管理&#xff0c;完成系统日常维护和管理工作&#xff0c;最后上交实验…

【转】Azure Messaging-ServiceBus Messaging消息队列技术系列1-基本概念和架构

前段时间研究了Window Azure ServiceBus Messaging消息队列技术&#xff0c;搞了很多技术研究和代码验证&#xff0c;最近准备总结一下&#xff0c;分享给大家。 首先&#xff0c;Windows Azure提供了两种类型的消息队列机制&#xff1a;Azure Queues和ServiceBus Queues。 其…

Atlas应用程序调试技巧

本文为翻译文章&#xff0c;原文地址&#xff1a;http://atlas.asp.net/docs/Overview/debug.aspx “Atlas”程序由服务器端代码和客户端代码组成&#xff0c;并且&#xff0c;浏览器可能会要去异步请求一些数据。那么&#xff0c;怎样才能Debug这样的web程序呢。本文将告诉…

linux 自动连接无限,hotplug应用实例:自动连接无线网

Linux内核提供了一种机制&#xff0c;使得有热插拔事件(比如插入或拔出U盘)发生时可以执行一个程序&#xff0c;在本文中我称之为hotplug程序。内核在调用hotplug程序时会传递一个命令行参数&#xff0c;这个参数是发生热插拔事件的子系统名称&#xff0c;常见的有usb, module,…

网络数据库的复制和同步(转摘)

数据库复本--网络数据库的复制和同步&#xff08;1&#xff09; 数据库复本是复制数据库的技术,利用这种技术,可以是数据库的几个拷贝保持同步。数据库的每个拷贝称为一个复本&#xff0c;并且每个复本都包含一个公共的表、查询、窗体、报表、宏和模块的集合&#xff1b;每个复…