I'm trying to fetch records from a DB table which has different categories. I want to fetch 1 random record from each level.

I've tried achieving this using:

```
  var results = (from o in db.tblName
                 where o.category== 1
                 orderby Guid.NewGuid()
                 select o).Take(1).Union
                 (from o in db.tblName
                  where o.category == 2
                  orderby Guid.NewGuid()
                  select o).Take(1).Union
                 (from o in db.tblName
                  where o.category == 3
                  orderby Guid.NewGuid()
                  select o).Take(1).Union
                 (from o in db.tblName
                   where o.category == 4
                   orderby Guid.NewGuid()
                   select o).Take(1);

```

Using the above code resulted in 1 record fetched instead of 4.

What am I doing wrong?