You don't because doing so would create a mismatch between the database and the domain model. If you were able to do this, the inactive contacts would be deleted when the session is flushed. There are two good options:
- Create an extension method on
IEnumerable<Contact>
that returns active contacts. This allows you to easily filter any set of Contacts to display only the active ones. - Create a view model containing only the data you want to display.
NHibernate filters may also be an option but I have no experience with them. I favor using extension methods.