iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Entity Framework Core如何实现表名映射
  • 830
分享到

Entity Framework Core如何实现表名映射

2023-06-29 16:06:59 830人浏览 独家记忆
摘要

小编给大家分享一下Entity Framework Core如何实现表名映射,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!表名映射我们知道:如果是在默认情况下,使用EFCore Code First的方

小编给大家分享一下Entity Framework Core如何实现表名映射,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

表名映射

我们知道:如果是在默认情况下,使用EFCore Code First的方式生成的表名跟数据上下文类中定义的实体属性的名称是一致的,例如:

public DbSet<Blog> Bloges123 { get; set; }

这里定义的属性名称是Bloges123,那么最后数据库中生成的表名也叫Bloges123。看下面的测试

我们首先添加迁移,每次迁移都会生成一个对应的迁移记录类,代码如下图所示:

Entity Framework Core如何实现表名映射

可以看到,这里显示创建表的名称就是Bloges123。最后更新数据库,更新完成以后查看数据库生成的表名:

Entity Framework Core如何实现表名映射

可以看到:数据库里面最终生成的表名就是配置的实体属性的命名。如果我们不想使用自动生成的表名,那该怎么办呢?这时候就需要做表名映射了,在代码里面设置最后生成的数据库表名。

如果要做映射,需要在数据上下文类中重写父类的OnModelCreating方法,里面有一个ToTable()的方法,里面的参数就是你想生成的表名,如下图所示:

Entity Framework Core如何实现表名映射

修改后的数据上下文类代码如下:

using EFCore.Model;using Microsoft.EntityFrameworkCore;namespace EFCore.Data{    /// <summary>    /// 数据上下文    /// </summary>    public class EFDbContext : DbContext    {        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)        {            optionsBuilder.UsesqlServer("Data Source=.;Initial Catalog=EFTest;User ID=sa;PassWord=123456;");        }        public DbSet<Blog> Blogs { get; set; }        /// <summary>        /// 重写OnModelCreating方法,配置映射        /// </summary>        /// <param name="modelBuilder"></param>        protected override void OnModelCreating(ModelBuilder modelBuilder)        {            // 配置表名映射            modelBuilder.Entity<Blog>().ToTable("Blog");            base.OnModelCreating(modelBuilder);        }    }}

这样设置完成以后,我们在次使用数据迁移的方式来生成数据库,看看最终结果。添加迁移以后生成的迁移记录类:

Entity Framework Core如何实现表名映射

可以看到:迁移记录类里面显示生成的表名是我们自己配置的表名,然后更新数据库,查看数据库表名:

Entity Framework Core如何实现表名映射

这样就完成了表名映射,最终生成的就是我们自己配置的表名。

注意:设置表名的时候有一个限制:表名最大长度限制为128。

我们修改代码,设置的表名长度超过128看看效果:

var tableName = string.Join("", Enumerable.Repeat("t", 250).ToArray());modelBuilder.Entity<Blog>().ToTable(tableName);

使用迁移的方式生成数据库查看效果:

Entity Framework Core如何实现表名映射

可以看到,在更新数据库的时候报错了,提示超过了最大长度。

看完了这篇文章,相信你对“Entity Framework Core如何实现表名映射”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: Entity Framework Core如何实现表名映射

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

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

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

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

下载Word文档
猜你喜欢
  • Entity Framework Core如何实现表名映射
    小编给大家分享一下Entity Framework Core如何实现表名映射,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!表名映射我们知道:如果是在默认情况下,使用EFCore Code First的方...
    99+
    2023-06-29
  • Entity Framework Core如何更新时间映射
    这篇文章主要介绍了Entity Framework Core如何更新时间映射,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。时间字段在真实的开发中,为了跟踪...
    99+
    2023-06-29
  • Entity Framework如何映射TPH、TPT、TPC与继承类
    这篇“Entity Framework如何映射TPH、TPT、TPC与继承类”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看...
    99+
    2023-07-02
  • Entity Framework Core实现Like查询详解
    在Entity Framework Core 2.0中增加一个很酷的功能:EF.Functions.Like(),最终解析为SQL中的Like语句,以便于在 LINQ 查询中直接调用...
    99+
    2024-04-02
  • 如何进行Entity Framework Core关联删除
    这篇文章将为大家详细讲解有关如何进行Entity Framework Core关联删除,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。关联删除通常是一个数据库术语,用于描述...
    99+
    2023-06-22
  • 如何对Entity Framework Core进行单元测试
    这篇文章主要介绍如何对Entity Framework Core进行单元测试,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、引言我们先来讲解如何对EntityFrameworkCore进行单元测...
    99+
    2023-06-29
  • ASP.NET Core如何使用AutoMapper实现实体映射
    这篇文章将为大家详细讲解有关ASP.NET Core如何使用AutoMapper实现实体映射,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、前言在实际的项目开发过程中,我们使用各种ORM框架可...
    99+
    2023-06-29
  • 如何使用Entity Framework Core对Web项目生成数据库表
    小编给大家分享一下如何使用Entity Framework Core对Web项目生成数据库表,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、引言这篇文章中我们讲解如何在Web项目中使用EntityFr...
    99+
    2023-06-29
  • Entity Framework Core如何使用控制台程序生成数据库表
    这篇文章主要介绍了Entity Framework Core如何使用控制台程序生成数据库表,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、引言我们使用C...
    99+
    2023-06-29
  • Entity Framework Core如何生成列并跟踪列记录
    本文小编为大家详细介绍“Entity Framework Core如何生成列并跟踪列记录”,内容详细,步骤清晰,细节处理妥当,希望这篇“Entity Framework Core如何生成列并跟踪列记录...
    99+
    2023-06-29
  • 如何理解.NET Core Dto映射
    如何理解.NET Core Dto映射,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们假设一个场景, 采用EF Core+Web Api, 这时候可能会出现E...
    99+
    2023-06-05
  • Entity Framework主从表的增删改怎么实现
    本篇内容介绍了“Entity Framework主从表的增删改怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、添加数据1...
    99+
    2023-07-02
  • php如何实现映射
    小编给大家分享一下php如何实现映射,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!映射映射,或者射影,在数学及相关的领域经常等同于函数。基于此,部分映射就相当于部...
    99+
    2023-06-06
  • Entity Framework如何使用LINQ操作实体
    这篇文章将为大家详细讲解有关Entity Framework如何使用LINQ操作实体,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、什么是LINQ TO EntitiesLINQ,全称是Lan...
    99+
    2023-06-29
  • 域名如何映射端口
    域名映射端口的方法:借助第三方软件工具进行端口映射。点击“内网映射”,再点击“添加映射”,弹出端口映射设置框。进行端口映射配置,填写相关信息。记得选择外网端口为“HTTP80端口”。点击确定即可。...
    99+
    2024-04-02
  • Python如何实现列表映射后的平均值
    这篇文章主要介绍了Python如何实现列表映射后的平均值,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、average_bydef average_by(lst,...
    99+
    2023-06-25
  • ubuntu如何配置域名映射
    ubuntu配置域名映射:在ubuntu下找到hosts文件,一般在/etc下。在hosts文件中添加域名映射。保存并关闭即可。...
    99+
    2024-04-02
  • Entity Framework如何管理一对二实体关系
    这篇文章主要介绍Entity Framework如何管理一对二实体关系,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!要在数据库中配置一对多关系,我们可以依赖EF约定,还可以使用数据注解或Fluent API...
    99+
    2023-06-29
  • Entity Framework如何管理一对一实体关系
    这篇文章给大家分享的是有关Entity Framework如何管理一对一实体关系的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。我们现在已经知道如何使用Code First来定义简单的领域类,并且如何使用...
    99+
    2023-06-29
  • Entity Framework中如何使用DataBase First模式实现增删改查
    本篇内容主要讲解“Entity Framework中如何使用DataBase First模式实现增删改查”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Entity ...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作