Rất tiếc, bạn đã không chỉ định cơ sở dữ liệu nào bạn đang sử dụng (SQL chỉ là ngôn ngữ truy vấn ....), nhưng nếu bạn đang sử dụng SQL Server (sản phẩm Microsoft RDBMS), thì bạn có thể tạo một cột được tính toán kiểu VARCHAR (15) để giữ một biểu diễn chuỗi của
INT
của bạn và sau đó chỉ cần tìm kiếm trên đó ....
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%'
Liệu điều đó có thực sự có ý nghĩa kinh doanh hay không, lại là một câu chuyện hoàn toàn khác ..... (Tôi đồng ý với Oded và Matt Ball ...)
Nhưng vì đó là cột chuỗi bây giờ, bạn có thể sử dụng Restrictions.Like
của mình cách tiếp cận trong NHibernate như bạn đề cập.