Desafortunadamente, no especificaste qué base de datos está usando (SQL es solo el lenguaje de consulta...), pero si está en SQL Server (el producto Microsoft RDBMS), entonces podría crear una columna calculada de tipo VARCHAR(15)
para contener una representación de cadena de su INT
, y luego solo busque eso....
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%'
Si eso realmente tiene sentido comercial, es una historia totalmente diferente... (Estoy de acuerdo con Oded y Matt Ball...)
Pero dado que ahora es una columna de cadena, debería poder usar su Restrictions.Like
enfoque en NHibernate como usted menciona.