IQueryable<Detail> details = myList.OrderBy(x => Guid.NewGuid()).ToList();
После этого просто пройдите по ней линейно:
var item1 = details[0];
Это позволит избежать дублирования.