Tôi đang cố thực hiện tìm kiếm đối với một DB mà tôi đã kế thừa. Yêu cầu nói rằng người dùng phải có khả năng tìm kiếm một đối tượng theo tên. Thật không may, một đối tượng có thể có nhiều tên liên kết với nó. Ví dụ:Tha thứ/tìm kiếm mờ với LINQ
ID Name 1 John and Jane Doe 2 Foo McFoo 3 Boo McBoo
Thật dễ dàng đủ để thực hiện một tìm kiếm khi một cái tên duy nhất tồn tại trong mỗi bản ghi:
var objects = from x in db.Foo
where x.Name.Contains("Foo McFoo")
select x;
Tuy nhiên, khi nhiều tên tồn tại, cách tiếp cận này không hoạt động.
Câu hỏi: Có thể viết một phương pháp tìm kiếm mà sẽ quay trở lại kỷ lục một (John và Jane Doe) khi ai đó sử dụng các thuật ngữ tìm kiếm John Doe
hoặc Jane Doe
?
Bạn có thể làm một String.split trên không gian màu trắng để phá vỡ chuỗi tìm kiếm ra và sau đó chỉ cần chạy nhiều truy vấn với.Chứa và trả lại tất cả kết quả? –
Nếu có "John Smith" thì sao? Bạn có chia nó ra và tìm kiếm từng phần của tên không? Điều gì tạo nên tên và họ? Những gì tôi nhận được ở là ở dạng hiện tại của nó tên có vẻ không có cấu trúc. – hometoast