首页 > 其他分享 >EFCore中自引用的实体类设计

EFCore中自引用的实体类设计

时间:2024-08-17 11:18:34浏览次数:14  
标签:实体类 Name get builder 中自 set EFCore Department public

案例:以部门(为主)-----部门下面又分1部、2部、3部等,1部下面又分为1组,2组,3组等这种结构像这样的设计类型应该用自引用来设计下面用用代码来实现:
///


/// Department class
///

public class Department
{
///
/// 部门 Id
///

public int Id { get; set; }
///
/// 部门名称 Name
///

public string Name { get; set; }
///
/// Manager
///

public Department Deparparent { get; set; }
///
///部门下属
///

public ICollection Children { get; set; } = new List();
}

以下是实体模型关系配置类
public class DepartmentConfig : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder.ToTable("Department");
builder.Property(d => d.Id).UseIdentityColumn();
builder.Property(d => d.Name).HasMaxLength(50).IsRequired();
builder.HasOne(d => d.Deparparent).WithMany(a => a.Children);//这句配置是重点
}
}

标签:实体类,Name,get,builder,中自,set,EFCore,Department,public
From: https://www.cnblogs.com/zy8899/p/18364152

相关文章

  • 获取Windows个性化中自带的聚焦锁屏
    想要保存登录屏幕(锁屏界面)的背景图片,可以通过以下脚本一键获取:@echooffsetlocalenabledelayedexpansion::WindowsSpotlight锁屏图片资源地址set"sourcePath=%localappdata%\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets"::......
  • 实现同时接收文件与实体类,java springboot maven
    首先,需要有一个Post接口,有一个实体类方法需要返回什么,直接修改void即可实体类需要接收什么,直接改User即可 @PostMapping(value="/post_interface")publicvoidpostInterface(@RequestParam("file")MultipartFilefile,@RequestParamMap<String,Object>user){......
  • C#基础:JSON和字符串、字典、实体类的相互转化方案
    备注:可直接在控制台输出,不需要引用第三方nuget包usingSystem;usingSystem.Collections.Generic;usingSystem.Text.Encodings.Web;usingSystem.Text.Json;classProgram{publicclassData{publicstringMoCategorySelect{get;set;}......
  • 数据库表对应的实体类上的相关注解
    一、解释这些注解是Java中常用的Lombok库和MyBatis-Plus框架提供的,用于简化实体类的开发和ORM映射。下面是对每个注解的解释:1.**@Data**:  -这是Lombok库的一个综合注解,包含了以下几个注解的功能:   -`@Getter`:为所有字段生成getter方法。   -`@Setter`:......
  • 各个版本Windows系统中自带的.NET Framework版本
    ①WindowsServer:WindowsServer版本  自带的.NETFramework版本WindowsServer2022  .NETFramework4.8WindowsServer2019  .NETFramework4.7.2WindowsServer20161809  .NETFramework4.7.2WindowsServer20161803  .NETFramework4.7.2Wi......
  • MyBatis 根据数据表反向生成 java 实体类等
    MyBatis根据数据表反向生成java实体类等  1、MyBatis根据已有的数据表生成对应的Java实体类的配置文件:mybatisReverseGeneratorConfig.xml此文件放到项目的根目录下 1<?xmlversion="1.0"encoding="UTF-8"?>2<!DOCTYPEgeneratorConfiguration......
  • EFCore执行自定义SQL时格式化错误:Input string was not in a correct format.
      记录一下EFCore执行自定义SQL报System.FormatException异常的问题,这个异常可能是“Inputstringwasnotinacorrectformat.”,也可能是其它格式化异常,比如:System.ArgumentException:“Formatoftheinitializationstringdoesnotconformtospecificationstartingat......
  • VSCode:Python 虚拟环境未在集成终端中自动激活
    我最近安装了VSCode,并注意到当我打开集成终端时,Python虚拟环境不会自动激活。从此链接中VSCode内提供的信息:https://github.com/microsoft/vscode-python/wiki/Activate-Environments-in-Terminal-Using-Environment-Variables看来Python扩展可能不会对......
  • 充血模型的EFCore实现
    充血模型的五个需求属性是只读的或者只能被类内部的代码修改。publicPhoneNumberPhoneNumber{get;privateset;}publicvoidChangePassword(stringpassword){if(password.Length<=3){thrownewArgumentOutOfRangeException("密码长度需......
  • Obsidian中自动上传兰空图床
    Obsidian中自动上传兰空图床前言本文默认读者已经搭建好了一个兰空图床服务本文中的需要修改的参数将表示为{{arg}},修改时请去除双括号在之前编写笔记的时候,需要自己手动上传图片到图床然后获取图片的url插入到笔记中。这种方式比较麻烦,因此笔者尝试寻找自动上传的方法,最终......