I have a issue with QueryOver,
I have 2 tables.
1st table is Person table.
And a person has many addresses.
so my 2nd table is Addresses.
Ist table
Id
Person name
Second table
addressid
street1
street2
postcode
city
country
PersonId
say I want to query the address table by city and find the persons
with city say = 'texas' and person name as say = 'john'
var detachedAddressQueryOver = QueryOver.Of<Address>()
.Where(x => x.City.IsLike("%" + city + "%"))
.Select(x => x.Person.Id); //project PersonrId
queryOverList = Session.QueryOver<Person>()
.Where(x => x => x.Name).IsLike("%" + name + "%"))
.WithSubquery
.WhereProperty(x => x.Id)
.In(detachedAddressQueryOver)
But the problem is that every person in Person table does not have a
address and hence does not have a city.
So if I only search by name and pass in null for city, since it has
only a few persons, returns all of the to the with subquery function.
Say personId 1 and 2 will be there in the address table, so if you
search by null for city, it will return only 1 and 2. So I need a way
to ommit detachedAddressQueryOver when city is null.