导航查询的多对多,导航配置条件的BUG 返回

SqlSugar 处理中
5 221
该叫什么 Yuki 发布于1个月前
悬赏:0 飞吻

如果使用通用关联表,配置
[Navigate(typeof(Sys_Assoc), nameof(Sys_Assoc.MainId), nameof(Sys_Assoc.TargetId), " Code = 'UserHospital' ")]


这个后面的code='xxxx'无法在where中生效,tosql后代码为

(("sys_dict" sys_dict_1
               sys_dict_1.("sys_assoc" = a.)
                 (= )));

但是sys_assoc是集合了所有关联,code来区分哪个模块,这里未拼接Code = 'UserHospital'

热忱回答5

  • fate sta fate sta VIP0
    1个月前

    好的,我看一下。

    0 回复
  • Yuki Yuki VIP0
    1周前

    @fate sta:你好,这个有解决了么?

    0 回复
  • 今天处理

    0 回复
  • Yuki Yuki VIP0
    1周前

    导航配置,最后一个配置的where

    在查询主表的时候不会带上这个where

    但是在获取子级集合会带上这个where


    [Navigate(typeof(Sys_Assoc), nameof(Sys_Assoc.MainId), nameof(Sys_Assoc.TargetId), " code = 'UserHospital' ")]

    public List<Sys_Dict>? HospitalList {  get; set; }


    在查询里面a => a.HospitalList.Any(b => dto.HospitalId == b.Rid)


    导航配置的where不会添加在中间层里面参与where查询,在获取子级数据就会带上这个where

    addbeac9d71975f55341ed348fea1225.png


    0 回复
  • Yuki Yuki VIP0
    1周前

    @fate sta:好的,谢谢

    0 回复