在使用EntityFramework做CodeFirst开发时,经常需要将实体类映射到数据库表,但是C#实体类和数据库表中的命名遵循的是不同的规范,这就需要为每个实体类做一个到数据库表名的映射。大多情况下需要映射到的表名是有一定规则的,比如我有实体类UserEntity、RoleEntity,需要将表名分别映射为T_User、T_Role,再比如mysql的表名是全小写,可以使用以下方式实现批量映射

  public class MyDbContext : DbContext{public DbSet<UserEntity> Users{ get; set; }public DbSet<RoleEntity> Roles{ get; set; }protected override void OnModelCreating(DbModelBuilder modelBuilder){base.OnModelCreating(modelBuilder);modelBuilder.Types().Configure(t =>{//获取类名var tableName = t.ClrType.Name;//将类名处理为指定规范表名tableName = "T_" + tableName.Replace("Entity","");t.ToTable(tableName);});}}

转载于:https://www.cnblogs.com/oyang168/p/11171893.html

EntityFramework中实体类到表名的批量映射相关推荐

  1. mybatisplus 实体类的字段名与数据库的字段名不一致的解决办法

    我们在查询数据库时经常会碰到数据库的字段名与实体类的字段名不一致的情况,例如报如下的错误 使用mybatisplus可以使用以下几种方式进行字段名的匹配: 把实体类的字段名改成和数据库的字段名一致,当 ...

  2. php无表单上传文件,php – 如何使用没有实体类的表单上传文件

    我试图使用没有实体类的表单上传文件.到目前为止没有运气. // Controller public function uploadAction() { $request = $this->get ...

  3. Spring中实体类为什么不需要注册成bean?

    今天偶然想到一个问题,Spring中实体类为什么不需要注册成bean? 要理解为什么不用注入,首先就清楚注入的目的是什么?如果不注入,在程序中要使用某个类对象的方法,则需要去new一个对象.然后我们调 ...

  4. C# 获取Excel工作薄中Sheet页(工作表)名集合

    #region 获取Excel工作薄中Sheet页(工作表)名集合/// <summary> /// 获取Excel工作薄中Sheet页(工作表)名集合/// </summary&g ...

  5. C# 获取Excel工作薄中Sheet页(工作表)名集合

    #region 获取Excel工作薄中Sheet页(工作表)名集合/// <summary> /// 获取Excel工作薄中Sheet页(工作表)名集合/// </summary&g ...

  6. oracle表名使用变量名,oracle 中动态sql语句,表名为变量,怎么解?

    如果你用的是 Oracle 8i 及以上的版本,那简单,在过程中用 execute immediate sql_str 就行, sql_str 是一个拼凑的 SQL 语句,但这个动态语句中带参数,或 ...

  7. 实体类dao接口mysql_利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件...

    解决问题: 可利用MyBatis生成器自动生成实体类.DAO接口和Mapping映射文件. 测试环境准备: 新建一个mysql数据库,例如mungerzTest. 生成一张主键为自增ID的学生表: C ...

  8. 如何用MyBatis-Generator自动创建代码(映射生成实体类、DAO接口和Mapping映射文件)

    如何用MyBatis自动生成实体类.DAO接口和Mapping映射文件 引言: 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBa ...

  9. mybatis逆向工程生成的实体类和表不一致缺少某些字段或者出现其他字段

    错误展示 数据库中product表的相应字段 使用Mybatis逆向工程生成的Procuct实体类 大家可以看到生成的文件和表对比,多了些别的字段,少了表中对应的字段. 原理 那是因为mybatis逆 ...

最新文章

  1. php和java的一些比较
  2. Q95:纹理映射(Texture Mapping)(3)——Triangle Meshes
  3. 计算机硬盘驱动是什么,电脑重装系统时提示缺少硬盘驱动该怎么解决
  4. matlab精确重心法选址,重心法选址问题资料.ppt
  5. python输出文本框_python如何使用文本框
  6. [系统] Deepin系统常见问题解决(持续更新)
  7. Hyperledger Fabric 网络环境的一点理解
  8. linux proftpd 用户,linux之proftpd搭建(随时盖楼)
  9. 51单片机学习:LED闪烁实验
  10. 区分H5调用手机相机与相册
  11. 巡逻机器人(BFS)
  12. 学编程语言C/C++、Java、Python的入门教程都在这里
  13. 数据结构七大排序算法图解——选择排序动图演示
  14. 【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.12 文本、图片
  15. 今天的但是我的小邻居蜡笔小新
  16. BSD.E6-B11 支持液晶屏最示驱动板方案,可用于监控和安防
  17. 2021年陕西省安全员B证复审考试及陕西省安全员B证实操考试视频
  18. 卡广场上三天教你快速打开流量口子
  19. JZOJ1418. 【COCI2007】追捕盗贼
  20. ui设计师的职责与岗位要求

热门文章

  1. pymysql的使用心得(1)------小细节,注意!
  2. php mysql事务
  3. 好文转载 Linux环境进程间通信(五): 共享内存(上)
  4. MYSQL数据库从A表把数据插入B表
  5. Activity LaunchMode验证
  6. Springboot-Vue-MybatisPlus 返回给前端的 Long类型数据失去精度怎么办 之 Long类型作为实体类的一个属性
  7. c#_continue 和 break 的区别
  8. 计算机语言翻译的情诗,聂鲁达情诗翻译
  9. python无师自通配套资源_Python Tkinter Pack布局管理器(超级详细,看了无师自通)...
  10. 修改js文件需要重启服务器,关于Node.js中频繁修改代码重启服务器的问题