The issue is that you have to insist that there is only one result. You can use .Single() if you know there are no more and no less than 1 result:
string name = db.Contacts.Single(c=>c.ContactID == contactId)
if there are 0 to 1 then use .FirstOrDefault which would return null if there are 0 results.
Otherwise you can use a where clause to select an enumeration, from which you can select out the field you want using .Select():
string[] name = db.Contacts.Where(c=>contactIds.Contains(c.ContactID)).Select(c=>c.FullName).ToArray()
Hope that helps ^_^
Andy