I have a simple QueryOver
var q = SessionInstance.QueryOver<Person>().Where(p => p.Number.Equals(number));
Unrecognised method call: System.Int32:Boolean Equals(Int32)
Usually the binary operators are handled in
QueryOver and also in Linq but only a few method calls are handled (
array.Contains, etc.) so you better use operators when possible.
Also remember that the operators/method calls are not actually executed, but converted SQL statements so if you have custom overrides/implementations for them they might not work as expected.
Given the above your code would be rewritten as:
var q = SessionInstance.QueryOver<Person>().Where(p => p.Number == number);