Sayangnya, Anda tidak menentukan basis data apa Anda menggunakan (SQL hanyalah bahasa kueri....), tetapi jika Anda menggunakan SQL Server (produk Microsoft RDBMS), maka Anda dapat membuat kolom terhitung dengan tipe VARCHAR(15)
untuk menampung representasi string dari INT
. Anda , lalu cari saja....
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%'
Apakah itu benar-benar masuk akal secara bisnis, adalah cerita yang sama sekali berbeda..... (Saya setuju dengan Oded dan Matt Ball...)
Tetapi karena itu adalah kolom string sekarang, Anda seharusnya dapat menggunakan Restrictions.Like
Anda pendekatan di NHibernate seperti yang Anda sebutkan.