public void GetFilter() { var textSerializer = new Serialize.Linq.Serializers.JsonSerializer(); var expressionSerializer = new Serialize.Linq.Serializers.ExpressionSerializer(textSerializer); Expression <Func <object, bool> > exp = i => ((IWB)i).StatusCode == "IWB_COMPLETED"; var strExpr = expressionSerializer.SerializeText(exp); var desExpr = (Expression <Func <object, bool> >)expressionSerializer.DeserializeText(strExpr); var compileDesExpr = desExpr.Compile(); BLHelper.InitBL(dalType: DALType.Oracle); var mgr = IoC.Instance.Resolve <IBaseManager <IWB> >(); var items = mgr.GetFiltered("STATUSCODE_R = 'IWB_COMPLETED' and ROWNUM < 2"); items.Should().NotBeEmpty("Ничего не получили, нет смысла проверять дальше"); var res = items.Where(compileDesExpr); res.Should().HaveCount(items.Count()); }
public ExpressionSerializer(Serializers s) { serializer = new Serialize.Linq.Serializers.ExpressionSerializer( new ExprSerializer(s)); }