theo dõi

Gần nhất :

Thống kê câu hỏi

Chuyên mục : Lập trình
Topic : C#
Hỏi lúc:
Lượt xem: 10,383

So sánh LIKE % trong linq to entities

Trần Trọng Hà Trần Trọng Hà
 17  01  02
07 bình chọn hữu ích bởi Đỗ Duy, Huỳnh Trung Nguyên Dương Ánh Xuân ... (tất cả)

Mình có bảng dữ liệu user với trường UnsignFullName để lưu tên người dùng không dấu và muốn tìm kết quả tương đối với từ khóa keyword

query = query.Where(s => s.UnsignFullName == keyword);

Làm thế nào để tìm kết quả với từ khóa LIKE tương tự như trong SQL

10,383 xem 10 theo dõi 07 hữu ích hỏi –

Bạn biết ai đó có thể trả lời câu hỏi này?. Bạn có thể giúp đỡ bằng cách tìm những người giỏi nhất:

user user user user user

Dương Thái Vân Dương Thái Vân
 07  00  02
06 bình chọn hữu ích bởi Nguyễn Yến Phượng, Phạm Ngọc Sơn Hồ Hồng Thủy ... (tất cả)

Bạn sử dụng Contains() nhé nó tương tự như LIKE trong SQL

query = query.Where(s => s.UnsignFullName.Contains(keyword));
Contains() = '%keyword%'
StartsWith() = LIKE 'keyword%'
EndsWith() = LIKE '%keyword'
9,996 xem 06 hữu ích trả lời –
Tạ Tùng Quân Tạ Tùng Quân
 11  01  01
05 bình chọn hữu ích bởi Trần Duy Thành, Phạm Thu Nguyệt Phan Bích Hằng ... (tất cả)

Không có LIKE trong Entity Framework nhưng bạn có thể sử dụng

query = query.Where(s => s.UnsignFullName.Contains(keyword));

Bởi vì String.Contains() có thể được biên dịch

CHARINDEX(UnsignFullName, @keyword) > 0

và nó tương đương với

UnsignFullName LIKE '%' +  + '%'
9,992 xem 05 hữu ích trả lời –