System.Collections.Generic.List<(string, string)> data = new() { ("d1", "d2"), ("d3", "d4"), };
System.Collections.Generic.List<string> exclude = new();
string filters = string.Join(" OR ", data.Select(entity => {
exclude.Add($"Name1 != '{entity.Item1}'");
return $"(Name1 = '{entity.Item1}' AND Name2 = '{entity.Item1}')";
string final = $"{filters} OR ({string.Join(" AND ", exclude)})";
System.Console.WriteLine(final);