广告
返回顶部
首页 > 资讯 > 精选 >Entity Framework表拆分为多个实体的示例分析
  • 562
分享到

Entity Framework表拆分为多个实体的示例分析

2023-06-29 09:06:23 562人浏览 薄情痞子
摘要

小编给大家分享一下Entity Framework表拆分为多个实体的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!概念表拆分:一个表拆分成多个实体,例如Photograph表,可以拆分为Photograp

小编给大家分享一下Entity Framework表拆分为多个实体的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

概念

表拆分:一个表拆分成多个实体,例如Photograph表,可以拆分为Photograph和PhotographFullImage两张表。

1、Photograph实体结构:

using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CodeFirstTableSplit.Model{    /// <summary>    /// 缩略图类    /// </summary>    public class Photograph    {        /// <summary>        /// 设置PhotoId是主键 自动增长        /// </summary>        [Key]        [DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity)]        public int PhotoId { get; set; }        public string Title { get; set; }        /// <summary>        /// 缩略图        /// </summary>        public byte[] ThumbnailBite { get; set; }        /// <summary>        /// Photograph通过导航属性引用PhotographFullImage        /// </summary>        [ForeignKey("PhotoId")]        public virtual PhotographFullImage PhotographFullImage { get; set; }    }}

 2、PhotographFullImage实体结构:

using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CodeFirstTableSplit.Model{    public class PhotographFullImage    {        [Key]        public int PhotoId { get; set; }        /// <summary>        /// 高分辨率        /// </summary>        public byte[] HighResolutionBits { get; set; }        /// <summary>        /// PhotographFullImage通过导航属性引用Photograph        /// </summary>        [ForeignKey("PhotoId")]        public virtual Photograph Photograph { get; set; }    }}

 3、创建数据上下文对象子类:

using CodeFirstTableSplit.Model;using System;using System.Collections.Generic;using System.Data.Entity;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CodeFirstTableSplit.DatabaseContext{    public class EFDbContext :DbContext    {        public EFDbContext()            : base("name=Default")        { }        public DbSet<Photograph> Photographs { get; set; }        public DbSet<PhotographFullImage> PhotographFullImages { get; set; }        protected override void OnModelCreating(DbModelBuilder modelBuilder)        {            // 设置主体            modelBuilder.Entity<Photograph>().HasRequired(p => p.PhotographFullImage).WithRequiredPrincipal(t => t.Photograph);            // 生成同一张表:设置两个实体有相同的表名            modelBuilder.Entity<Photograph>().ToTable("Photograph");            modelBuilder.Entity<PhotographFullImage>().ToTable("Photograph");            base.OnModelCreating(modelBuilder);        }    }}

 4、使用数据迁移生成数据库结构,查看生成后的结构:

Entity Framework表拆分为多个实体的示例分析

5、写入数据

using CodeFirstTableSplit.DatabaseContext;using CodeFirstTableSplit.Model;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CodeFirstTableSplit{    class Program    {        static void Main(string[] args)        {            using (var context = new EFDbContext())            {                // 写入数据                byte[] thumbBits = new byte[100];                byte[] fullBits = new byte[2000];                var photo = new Photograph() { Title = "李四", ThumbnailBite = thumbBits };                var fullImage = new PhotographFullImage() { HighResolutionBits = fullBits };                photo.PhotographFullImage = fullImage;                context.Photographs.Add(photo);                // 保存                context.SaveChanges();            }            Console.WriteLine("创建成功");            Console.ReadKey();        }    }}

 6、查询数据

Entity Framework表拆分为多个实体的示例分析

看完了这篇文章,相信你对“Entity Framework表拆分为多个实体的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: Entity Framework表拆分为多个实体的示例分析

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

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

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

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

下载Word文档
猜你喜欢
  • Entity Framework表拆分为多个实体的示例分析
    小编给大家分享一下Entity Framework表拆分为多个实体的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!概念表拆分:一个表拆分成多个实体,例如Photograph表,可以拆分为Photograp...
    99+
    2023-06-29
  • Entity Framework实体拆分多个表的示例分析
    这篇文章主要为大家展示了“Entity Framework实体拆分多个表的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Entity Framework实体拆分多个表...
    99+
    2023-06-29
  • Entity Framework实体拆分多个表
    一、概念 实体拆分:一个实体拆分成多个表,如Product实体,可以拆分成Product和ProductWebInfo两个表,Product表用于存储商品的字符类信息,Product...
    99+
    2022-11-13
  • EntityFramework表拆分为多个实体
    概念 表拆分:一个表拆分成多个实体,例如Photograph表,可以拆分为Photograph和PhotographFullImage两张表。 1、Photograph实体结构: u...
    99+
    2022-11-13
  • Microsoft宣布将停止支持多个.NET Framework 版本的示例分析
    Microsoft宣布将停止支持多个.NET Framework 版本的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。...
    99+
    2022-10-19
  • JPA配置方式+逆向工程映射到Entity实体类的示例分析
    这篇文章主要为大家展示了“JPA配置方式+逆向工程映射到Entity实体类的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JPA配置方式+逆向工程映射到Entity实体类的示例分析”这篇...
    99+
    2023-06-25
  • mybatis分割字符串并循环实现in多个参数的示例分析
    这篇文章主要为大家展示了“mybatis分割字符串并循环实现in多个参数的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mybatis分割字符串并循环实现in多个参数的示例分析”这篇文章...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作