首页 > 数据库 >SQLSugar中Includes和Mapper的区别

SQLSugar中Includes和Mapper的区别

时间:2023-10-08 16:34:12浏览次数:35  
标签:Customer Mapper Includes 过滤器 Include 方法 SQLSugar 加载

在SQLSugar中,IncludeMapper确实在处理过滤器方面有一些不同的行为。

  1. Include方法:当你使用Include方法来加载关联实体时,SQLSugar会忽略过滤器,不会将过滤器应用于加载的关联实体。这意味着无论你是否定义了过滤器,使用Include方法加载的关联实体都会被加载,而不受过滤器的影响。

示例:

// 假设有一个过滤器定义在Customer实体上
db.Filter<Customer>().Where(c => c.IsActive == true);

var order = db.Queryable<Order>()
    .Where(o => o.OrderId == orderId)
    .Include(o => o.Customer)  // 不受过滤器的影响,会加载所有的Customer
    .Single();

  

  1. Mapper方法:与Include方法不同,Mapper方法会受到过滤器的影响。如果你在模型上定义了过滤器,然后使用Mapper方法来映射查询结果到实体模型,过滤器会应用于加载的数据。这意味着只有符合过滤器条件的数据才会被加载到实体模型中。

示例:

// 假设有一个过滤器定义在Customer实体上
db.Filter<Customer>().Where(c => c.IsActive == true);

var order = db.Queryable<Order>()
    .Where(o => o.OrderId == orderId)
    .Mapper(o => o.Customer, c => c.Id == orderId)  // 受过滤器的影响,只加载符合条件的Customer
    .Single();

  总之,要根据你的需求选择合适的方法。如果你希望加载所有关联实体而不受过滤器的影响,可以使用Include方法。如果你希望受到过滤器的影响,只加载符合条件的数据,可以使用Mapper方法,并在其中定义条件。

标签:Customer,Mapper,Includes,过滤器,Include,方法,SQLSugar,加载
From: https://www.cnblogs.com/wafulo/p/17749527.html

相关文章

  • KdMapper扩展实现之Dell(pcdsrvc_x64.pkms)
    1.背景  KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考《【转载】利用签名驱动漏洞加载未签名驱动》)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。 2.驱动信息 驱动名称pcdsrvc_x64.pkms 时间戳5......
  • java springboot项目,mybatisplus,import com.baomidou.mybatisplus.core.mapper.BaseMa
    <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.1.2</version><!--用版本2.1.9就不行,UserMapper里BaseMapper爆红--></dependency>我的结果是,......
  • 报错:Invalid bound statement (not found): org.example.mapper.ZoneInfoMapper.getA
    错误org.apache.ibatis.binding.BindingException:Invalidboundstatement(notfound):org.example.mapper.ZoneInfoMapper.getAll解决方法<resources><resource><directory>src/main/java</directory>&......
  • KdMapper扩展实现之microstar(NTIOLIB_X64.sys)
    1.背景  KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考《【转载】利用签名驱动漏洞加载未签名驱动》)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。 2.驱动信息 驱动名称NTIOLIB_X64.sys 时间戳50......
  • KdMapper扩展实现之MICSYS(MsIo64.sys)
    1.背景  KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考《【转载】利用签名驱动漏洞加载未签名驱动》)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。 2.驱动信息 驱动名称MsIo64.sys 时间戳5DA7C......
  • java.mapperUtils
    packagecom.yh.util;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;importjava.io.IOException;importja......
  • Global Mapper(地图绘制)下载_生成地形图 各个版本下载
    GlobalMapper21是一款实用的桌面GIS应用程序,包含丰富的空间数据处理工具、3D渲染和高程工具、地形修改工具和GPS数据管理工具等,可以将数据转化成光栅地图、高程地图或矢量地图,同时还具有GIS数据的编辑、转换、打印和记录等功能,支持超过250种文件格式。GlobalMapper21带来了新的......
  • GlobalMapper(地图绘制)下载 各个版本下载
    GlobalMapper23版是一款提供给所有GIS专业人士和地图爱好者们使用的多功能地图绘制工具,这款软件不仅为用户们提供了各式各样的空间数据处理工具,从而满足地理空间专业人员的不同需求。而且我们也可以利用GlobalMapper23版百度云来轻松完成地图绘制工作。GlobalMapper23版可以......
  • WPF异步命令以及SqlSugar异步增删改查
    1、异步///<summary>///查询全部///</summary>///<returns></returns>publicasyncTask<List<IgniteTubeInfo>>QueryListAsync(){returnawaitdb.Queryable<IgniteTubeInfo>().ToListAsync();}///<summa......
  • KdMapper扩展实现之LG(LHA.sys)
    1.背景  KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考《【转载】利用签名驱动漏洞加载未签名驱动》)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。 2.驱动信息 驱动名称LHA.sys 时间戳5C255B03......