public static Expression InPrimaryKey(Expression element, PrimaryKey[] values) { var cleanValues = values.Select(a => a.Object).ToArray(); var cleanElement = SmartEqualizer.UnwrapPrimaryKey(element); if (cleanElement == NewId) { return(False); } return(InExpression.FromValues(DbExpressionNominator.FullNominate(cleanElement), cleanValues)); }
public static Expression InPrimaryKey(Expression element, PrimaryKey[] values) { var cleanValues = values.Select(a => a.Object).ToArray(); var cleanElement = SmartEqualizer.UnwrapPrimaryKey(element); if (cleanElement == NewId) { return(False); } cleanElement = DbExpressionNominator.FullNominate(cleanElement) !; if (cleanElement.Type == typeof(string)) { return(InExpression.FromValues(cleanElement, cleanValues.Select(a => (object)a.ToString() !).ToArray())); } else { return(InExpression.FromValues(cleanElement, cleanValues)); } }