广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >Entity Framework使用配置伙伴创建数据库
  • 697
分享到

Entity Framework使用配置伙伴创建数据库

2024-04-02 19:04:59 697人浏览 独家记忆
摘要

在上一篇文章中讲了如何使用fluent api来创建数据表,不知道你有没有注意到一个问题。上面的OnModelCreating方法中,我们只配置了一个类Product,也许代码不是很

在上一篇文章中讲了如何使用fluent api来创建数据表,不知道你有没有注意到一个问题。上面的OnModelCreating方法中,我们只配置了一个类Product,也许代码不是很多,但也不算很少,如果我们有1000个类怎么办?都写在这一个方法中肯定不好维护。EF提供了另一种方式来解决这个问题,那就是为每个实体类单独创建一个配置类。然后在OnModelCreating方法中调用这些配置伙伴类。

创建Product实体类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity.ModelConfiguration;

namespace EF配置伙伴.Model
{
    public class Product
    {
        public int ProductNo { get; set; }

        public string ProductName { get; set; }

        public double ProductPrice { get; set; }
    }
}

创建Product实体类的配置类:ProductMap,配置类需要继承自EntityTypeConfiguration泛型类,EntityTypeConfiguration位于System.Data.Entity.ModelConfiguration命名空间下,ProductMap类如下:

using EF配置伙伴.Model;
using System;
using System.Collections.Generic;
using System.Data.Entity.ModelConfiguration;
using System.Linq;
using System.Text;

namespace EF配置伙伴.EDM
{
    public class ProductMap   :EntityTypeConfiguration<Product>
    {
        public ProductMap()
        {
            // 设置生成的表名称
            ToTable("ProductConfiguration");
            // 设置生成表的主键
            this.HasKey(p => p.ProductNo);
            // 修改生成的列名
            this.Property(p =>p.ProductNo).HasColumnName("Id");
            this.Property(p => p.ProductName)
                .IsRequired()  // 设置 ProductName列是必须的
                .HasColumnName("Name"); // 将ProductName映射到数据表的Name列

        }
    }
}

在数据上下文Context类的OnModelCreating()方法中调用:

using EF配置伙伴.EDM;
using EF配置伙伴.Model;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;

namespace EF配置伙伴.EFContext
{
    public class Context:DbContext
    {
        public Context()
            : base("DbConnection")
        { }

        public DbSet<Product> Products { get; set; }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            // 添加Product类的配置类
            modelBuilder.Configurations.Add(new ProductMap());
            base.OnModelCreating(modelBuilder);
        }


    }
}

查看数据库,可以看到符合我们的更改:

这种写法和使用modelBuilder是几乎一样的,只不过这种方法更好组织处理多个实体。你可以看到上面的语法和写Jquery的链式编程一样,这种方式的链式写法就叫Fluent API。

到此这篇关于Entity Framework使用配置伙伴创建数据库的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Entity Framework使用配置伙伴创建数据库

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

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

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

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

下载Word文档
猜你喜欢
  • Entity Framework使用配置伙伴创建数据库
    在上一篇文章中讲了如何使用fluent API来创建数据表,不知道你有没有注意到一个问题。上面的OnModelCreating方法中,我们只配置了一个类Product,也许代码不是很...
    99+
    2022-11-13
  • Entity Framework中怎么使用配置伙伴创建数据库
    这篇“Entity Framework中怎么使用配置伙伴创建数据库”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“E...
    99+
    2023-06-29
  • Entity Framework Core基于数据模型创建数据库
    1.简介 使用Entity Framework Core构建执行基本数据访问的ASP.NET Core MVC应用程序。使用迁移(Migrations)基于数据模型创建数据库,你可以...
    99+
    2022-11-13
  • 怎么使用ADO.NET Entity Framework构建数据访问层
    这篇文章主要介绍“怎么使用ADO.NET Entity Framework构建数据访问层”,在日常操作中,相信很多人在怎么使用ADO.NET Entity Framework构建数据访问层问题上存在疑惑,小编查阅了各式资料,整理出简单好用的...
    99+
    2023-06-17
  • Entity Framework如何使用Code First模式管理数据库
    这篇文章主要为大家展示了“Entity Framework如何使用Code First模式管理数据库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Entity Fr...
    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使用DataBase First模式实现数据库的增删改查
    在上一篇文章中讲解了如何生成EF的DBFirst模式,接下来讲解如何使用DBFirst模式实现数据库数据的增删改查 一、新增数据 新增一个Student,代码如下: static v...
    99+
    2022-11-13
  • 如何用代码的方式取出SAP C4C销售订单创建后所有业务伙伴的数据
    比如我创建了一个Sales Order(销售订单)后,如何用代码的方式取出这些通过SAP Partner determination自动填充的Involved Parties信息呢?一种方法可以使用SAP C4C Odata service...
    99+
    2023-06-04
  • Mysql中怎么创建数据库并配置主从
    这篇文章将为大家详细讲解有关Mysql中怎么创建数据库并配置主从,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、主服务器上创建一个用于复制的账户。 my...
    99+
    2022-10-18
  • 使用SQL语句创建数据库与创建表
    前言 🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏: 🍔🍟🌯 c语言初阶 🔑个...
    99+
    2023-09-29
    数据库 sql
  • Oracle11g Data Guard物理备用数据库搭建与配置(第1部分 主数据库实例创建)
    环境准备 在我的测试环境中,准备了两台CentOS7.4虚拟机,并同时都安装了Oracle11gR2的11.2.0.1.0企业版的数据库软件,其中只有主服务器创建一个数据库实例,备用服务器仅安装O...
    99+
    2022-10-18
  • 数据库的结构、创建、使用
    从逻辑上看:描述信息的数据存在数据库中并由DBMS统一管理 从物理上看:描述信息的数据事宜文件的方式存储在物理磁盘上 数据库文件分为: 1.数据文件:存放数据库数据和数据仓库对象的文件 主要数据文件(.mdf)+次要数据文件(.n...
    99+
    2015-08-09
    数据库的结构 创建 使用
  • Android创建和使用数据库SQLIte
    一、关系型数据库SQLIte         每个应用程序都要使用数据,Android应用程序也不例外,A...
    99+
    2022-06-06
    数据 SQLite Android
  • 如何使用navicat创建数据库
    小编给大家分享一下如何使用navicat创建数据库,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、首先登陆Navicat,然后顺利连接数据库,如下图所示:2、在IP地址为192.168....
    99+
    2022-10-18
  • navicat 8 创建数据库与创建用户分配权限图文方法
    下面是我们需要创建一个数据与一个用户的方法,图文操作的原理跟命令行原理是一样的。navicat 8 精简版(7M) MYSQL图像管理工具 V8.0.28第一步、先连接mysql如果...
    99+
    2022-11-21
    创建数据库 创建用户
  • 达梦数据库ODBC配置及达梦与mysql创建DBLINK测试
    目录 官网ODBC配置... 3 1、ODBC下载官网... 3 2、上传安装包并解压... 3 3、安装odbc. 3 4、安装依赖... 4 5、再次执行安装即可... 4 6、查看版本及配置文件... 4 Mysql-ODBC配置....
    99+
    2023-09-09
    数据库 mysql 服务器
  • mysql 使用 PHP脚本创建数据库
    在一些开源的系统,都可以动态创建数据库名及数据库数据,mysql 使用 PHP脚本创建数据库,简单说说生成的原理。 1,使用的函数 mysqli_connect() ...
    99+
    2022-10-18
  • DM7 使用dminit工具创建数据库
    1 功能简介   dminit是DM数据库初始化工具。在安装DM的过程中,用户可以选择是否创建初始数据库。如果当时没有创建,那么在安装完成之后,可以利用创建数据库工具dminit来创建。 系统管理...
    99+
    2022-10-18
  • 如何使用ef6创建oracle数据库
    这篇文章给大家分享的是有关如何使用ef6创建oracle数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。解决方案中的数据层项目最初使用的是oracle 11g + ef5 创...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作