首页 > 数据库 >freeSql一对多 oneToMany实例

freeSql一对多 oneToMany实例

时间:2022-10-25 21:01:45浏览次数:47  
标签:set get freeSql oneToMany entity 实例 var input public

一:公司

public partial class ItemCompanyEntity : EntityFull

{

   /// <summary>

   /// 工程ID

   /// </summary>

   [Column(StringLength =20)]

   public long ProjectId { get; set; }

   /// <summary>

   /// 项目公司名称

   /// </summary>

   [Column(StringLength = 50)]

   public string ItemCompanyName { get; set; }

   /// <summary>

   /// 供应商列表

   /// </summary>

   ///  

   [Navigate(nameof(ItemProviderEntity.CompanyId))]

   public virtual List<ItemProviderEntity> Providers { get; set; }


}

二:供应商

/// <summary>

/// 供应商名称

/// </summary>

[Table(Name = "ad_item_provider")]

[Index("idx_{tablename}_01", nameof(ItemProviderName))]

public partial class ItemProviderEntity : EntityFull

{

   /// <summary>

   /// 供应商名称

   /// </summary>

   [Column(StringLength = 50)]

   public string ItemProviderName { get; set; }

   /// <summary>

   /// 项目公司ID

   /// </summary>

   public long CompanyId { get; set; }


实现方法:

  /// <summary>

   /// 项目公司名称--新增

   /// </summary>

   /// <param name="input"></param>

   /// <returns></returns>

   [HttpPost]

   public async Task<IResultOutput> AddItemCompanyAsync(ItemCompanyAddDto input)

   {

       try

       {

           var entity = Mapper.Map<ItemCompanyEntity>(input);

           //  _companyRepository.DbContextOptions.EnableCascadeSave = true;  级联保存

           //  var tbref = _fsql.CodeFirst

           //.GetTableByEntity(typeof(ItemCompanyEntity))

           //.GetTableRef("Providers", true);  检测导航属性

           var id = (await _companyRepository.InsertAsync(entity)).Id;

           return ResultOutput.Result(id > 0);

       }

       catch (Exception ex)

       {

           return ResultOutput.NotOk(ex.Message);

       }

   }

   /// <summary>

   /// 项目公司名称--修改

   /// </summary>

   /// <param name="input"></param>

   /// <returns></returns>

   [HttpPost]

   public async Task<IResultOutput> UpdateCompanyAsync(ItemCompanyUpdateDto input)

   {

       try

       {

           var entity = Mapper.Map<ItemCompanyEntity>(input);


           //var id = (await _companyRepository.UpdateAsync(entity));//级联保存默认是追加保存

            await _companyRepository.SaveManyAsync(entity, "Providers");//对比表已存在的数据,计算出添加、修改、删除执行

           return ResultOutput.Result(true);

       }

       catch (Exception ex)

       {

           return ResultOutput.NotOk(ex.Message);

       }

   }


  

标签:set,get,freeSql,oneToMany,entity,实例,var,input,public
From: https://blog.51cto.com/jition/5795108

相关文章

  • HAProxy反向代理实例
     1、环境准备:设备IP地址作用系统版本web110.0.0.18Nginx-Web服务器Rocky8.6web210.0.0.28Nginx-Web服务器Rocky8.6Haproxy172.20.0.248、10.......
  • HAProxy反向代理负载均衡实例
    1、环境准备:设备IP地址作用系统版本web110.0.0.18Nginx-Web服务器Rocky8.6web210.0.0.28Nginx-Web服务器Rocky8.6Haproxy172.20.0.248、10.0.0.101反向代理web+负载均衡Ubun......
  • 什么时候定义静态变量与实例变量
    publicclassTest1{publicstaticvoidmain(String[]args){//静态属性的调用-----"类名."System.out.println(Chinese.country);//......
  • Oracle故障案例 | 19C动态监听无法注册实例的处理
    文章目录​​前言​​​​⛳️1.故障现象​​​​⛳️2.故障排查​​​​✨2.1尝试添加静态监听​​​​✨2.1排查local_listener​​​​⛳️3.故障处理​​​​⛳️4.技能......
  • hibernate的OneToMany映射
    hibernate的OneToMany和ManyToOne映射1、前言在数据库中,不管一对多或者多对一都统称为:一对多。@OneToMany和@ManyToOne指定了一对多的关系。2、@OneToMany使用外键映射......
  • 通俗易懂的 SAP ABAP 会话管理(Session Management)概念讲解,包含具体的实例试读版
    本专栏计划的文章数在150篇左右,到2022年10月6日为止,目前已经更新了56篇,专栏完成度为37.3%笔者这套​​零基础快速学习ABAP​​​从2021年4月10日写下第一篇文章以......
  • 用户登录实例02
    分层思想+mybatis相关的集成-yuanse-博客园(cnblogs.com)test6602先把一些固定的配置文件先导入进来,比如说像mybatis-config.xml、mysql.properties等(自己根据需要......
  • Python最速下降法实例
    最速下降法的实现需要通过符号计算。首先笔算一步如下,然后通过程序验证: python程序如下,需要pipinstallsympy:importnumpyasnpfromsympyimport*importmath......
  • 抽象类的实例应用
    1.员工packagebigguy;/***@authorliu$*@version1.0*@description:TODO*@date$$*/publicabstractclassEmployee{privateStringname;private......
  • Spring —— bean实例化
    bean实例化bean本质上就是对象,创建bean使用构造方法完成(反射)    构造方法(常用)      静态工厂*      实例工厂*      FactoryBean(实用)......