在我的应用程序中,我创建了一个类,它根据在某些条件类上设置的属性动态地格式化查询。
public class Criteria
{
public int? Prop1 {get; set;}
public string Prop2 {get; set;}
public bool? Prop3 {get; set;}
}
本课程有近15种不同的属性。我使用反射来检测已设置的属性并动态获取给定条件的sql。
所以,sql可能就像
WHERE Prop1 = @Prop1 AND Prop3 = @PROP3
或WHERE Prop2 = @Prop2 AND Prop15 LIKE @Prop15 + '%' AND Prop20 <= @Prop20
等
(我正在使用Dapper ORM)
我有多个标准类,每个类都有一堆属性。目标是在将来添加最少的代码更改时添加新的条件类。
我想知道这种动态查询格式是否会影响Dapper内部缓存/生产力,一般来说这是不好的做法?
谢谢!