[英]Servicestack : Specified method not supported
在查詢中添加Any后,出現方法未指定錯誤。 請找到下面的片段
楷模
public class BodyTatoo
{
public BodyTatoo()
{
}
public Guid Id { get; set; }
[Reference]
public List<BodyTattooColor> TattooColors {get;set;} = new List<BodyTattooColor>();
}
public class BodyTattooColor
{
public Guid Id { get; set; }
[References(typeof(Color))]
public int ColorId{ get; set; }
[Reference]
public Color Color { get; set; }
[References(typeof(BodyTatoo)]
public Guid BodyTattooId { get; set; }
[Reference]
public BodyTatoo BodyTatoo { get; set; }
}
public class Color
{
public int Id { get; set; }
public string Name { get; set; }
}
-------------------------------------------------
請求 DTO
public class RequestDto : IReturn<Result>
{
// It can be comma separated value eg: "Black, Green, Red etc.."
public string Colors { get; set; }
public Guid Id { get; set; }
}
public List<Result> Get(RequestDto request)
{
var query = Db.From<>()
.leftJoin<BodyTatoo,BodyTattooColor>()
.leftJoin<BodyTattooColor,Color>();
var colorArray = request.colors.split(",");
query = query.Or<BodyTatoo>(x => x.BodyTattooColor
.Any(v => colorArray.Any(c => v.Color.Name.Contains(c))));
}
讓我知道是否有任何方法可以解決這個問題。
query = query.Or(x => x.BodyTattooColor .Any(v => colorArray.Any(c => v.Color.Name.Contains(c)))); 這條線給出了問題。
好的,所以我可以使用下面的代碼來解決這個問題。
query = query.Or<BodyTattooColor>(x => colorArray.Any(c => x.Color.Name.Contains(c))));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.