/// <summary> /// 判定 exp 返回值肯定不是 null /// </summary> /// <param name="exp"></param> /// <returns></returns> public static bool AffirmExpressionRetValueIsNotNull(this DbExpression exp) { exp = DbExpressionExtension.StripConvert(exp); if (exp.NodeType == DbExpressionType.Constant) { var c = (DbConstantExpression)exp; return(c.Value != null && c.Value != DBNull.Value); } if (exp.NodeType == DbExpressionType.Parameter) { var p = (DbParameterExpression)exp; return(p.Value != null && p.Value != DBNull.Value); } return(false); }
/// <summary> /// 判定 exp 返回值肯定是 null /// </summary> /// <param name="exp"></param> /// <returns></returns> public static bool AffirmExpressionRetValueIsNull(this DbExpression exp) { exp = DbExpressionExtension.StripConvert(exp); if (exp.NodeType == DbExpressionType.Constant) { var c = (DbConstantExpression)exp; return(c.Value == null || c.Value == DBNull.Value); } if (exp.NodeType == DbExpressionType.Parameter) { var p = (DbParameterExpression)exp; return(p.Value == null || (p.Type == typeof(string) && string.IsNullOrEmpty(p.Value.ToString())) || p.Value == DBNull.Value); } return(false); }