gì là cách tốt nhất để sử dụng tìm kiếm toàn văn với EFCoreFull-Text Search với Entity Framework Lõi
Đối với tôi bây giờ có hai cách tiếp cận
Approach # 1
var entities = this.DbContext.Example
.FromSql("fullText_Proc {0}, {1}", searchTermParameter, topParameter);
return entities.AsNoTracking().ToList();
Ở đây tôi buộc phải tạo một proc vì FromSql bỏ qua mệnh đề WHERE.
Approach # 1
Tạo một lệnh và thực hiện lập bản đồ bằng tay
using (var command = this.DbContext.Database.GetDbConnection().CreateCommand())
{
command.CommandText = "SELECT ... WHERE CONTAINS("Name", @p1)";
command.CommandType = CommandType.Text;
var parameter = new SqlParameter("@p1",...);
this.DbContext.Database.OpenConnection();
using (var result = command.ExecuteReader())
{
while (result.Read())
{
.... // Map entity
}
}
}
Tôi đã sử dụng phương pháp thứ hai của bạn để tìm nạp kết quả được xếp hạng với CONTAINSTABLE không thể đạt được bằng cách sử dụng FromSql cho thời điểm này. Cảm ơn. – c0y0teX