il metodo Take ritorna un enumerazione di oggetti. nel tuo caso devi anche utilizzare il metodo Single, per farti ritornare un'istanza della classe che desideri.
una cosa di questo tipo:
List<int> interi = new List<int>();
for (int i = 0; i < 25; i++)
{
interi.Add(i);
}
var result = (from i in interi
orderby i descending
select i).Take<int>(1).Single(); che nel tuo caso diventa:
var aa = (from c in context.XW_tblWHItemsUDC
where c.INDateWHItemsUDC == DateTime.Now
orderby c.UDCWHItemsUDC
select c).Take<1>.Single();