Try something like this:
Address1 = (from a in AEDCdb.Test where a.code == b.site select string.Concat(a.Address1, a.Address2) == "NA" ? " " : string.Concat(a.Address1, a.Address2)).FirstOrDefault(),
In case when Address2 returns "NA":
Address1 = (from a in AEDCdb.Test where a.code == b.site select string.Concat(a.Address1, (a.Address2 == "NA" ? " " : a.Address2)).FirstOrDefault(),