If you're using the ICriteria API, you need:
.SetResultTransformer(new DistinctEntityRootTransformer())
If you're using the QueryOver API, you need:
.TransformUsing(Transformers.DistinctRootEntity)
But beware, this all occurs on client side, so all the duplicate rows are still pulled.