使用Mapper加条件语句出现异常 返回

求助
2 207


使用Mapper加条件语句出现异常

System.InvalidOperationException:“从作用域“”引用了“xxxmodel”类型的变量“it”,但该变量未定义”


求助该怎么写。


以下是异常code

var list = db.Queryable<xxxmodel>()
            .WhereIF(!string.IsNullOrWhiteSpace(cid), it => it.CId.Contains(cid))
         .WhereIF(!string.IsNullOrWhiteSpace(name), it => it.Name.Contains(name))
         .WhereIF(!string.IsNullOrWhiteSpace(customername), it => it.ExtInfo.CustomerName.Contains(customername))
         .Mapper(it => it.ExtInfo, it => it.Id, it => it.ExtInfo.XId)
         .ToList();
                
var list2 = db.Queryable<xxxmodel>()
                .Mapper(it => it.ExtInfo, it => it.Id, it => it.ExtInfo.XId)
                .WhereIF(!string.IsNullOrWhiteSpace(cid), it => it.CId.Contains(cid))
                .WhereIF(!string.IsNullOrWhiteSpace(name), it => it.Name.Contains(name))
                .WhereIF(!string.IsNullOrWhiteSpace(customername), it => it.ExtInfo.CustomerName.Contains(customername))
                .ToList();

model

public class xxxmodel
{        
    [SugarColumn(IsPrimaryKey = true)]
    public Guid Id { get; set; }
    
    public string CId { get; set; }
    
    public string Name { get; set; }
    
    [SugarColumn(IsIgnore = true)]
    public extmodel ExtInfo { get; set; }
}
public class extmodel
{
    [SugarColumn(IsPrimaryKey = true)]
    public Guid Id { get; set; }
    
    public Guid XId { get; set; }
    
    public string CustomerName { get; set; }
}


热忱回答2

  •   .WhereIF(!string.IsNullOrWhiteSpace(customername), it => it.ExtInfo.CustomerName.Co   不支持这句

    0 回复
  • 那我这种需求,应该只能联表查询,然后赋值映射了吧

    .Select((a,b) => new xxxmodel
    {
        prop = a.prop,
        ExtInfo = new extmodel
        {
            prop = b.prop
        }
    }
    )


    0 回复

版块

学习文档

最新会员

发布达人

回贴达人