Leider haben Sie nicht angegeben, welche Datenbank Sie verwenden (SQL ist nur die Abfragesprache ...), aber wenn Sie sich auf SQL Server (dem Microsoft RDBMS-Produkt) befinden, könnten Sie eine berechnete Spalte vom Typ VARCHAR(15) um eine Zeichenfolgendarstellung Ihres
INT
zu halten , und dann einfach danach suchen....
ALTER TABLE dbo.YourTable
ADD IdAsString AS CAST(Id AS VARCHAR(15)) PERSISTED -- PERSISTED might not work - depending on your version of SQL Server
SELECT (list of columns)
FROM dbo.YourTable
WHERE IdAsString LIKE '123%'
Ob das wirtschaftlich wirklich Sinn macht, ist eine ganz andere Geschichte..... (ich stimme Oded und Matt Ball zu...)
Aber da das jetzt eine String-Spalte ist, sollten Sie in der Lage sein, Ihre Restrictions.Like
zu verwenden Ansatz in NHibernate, wie Sie erwähnt haben.