Мне нужно выполнить поиск в таблице dblinq, чтобы функция возвращала список строк, если какое-либо из полей соответствует вводимому запросу.
Это так. больше похож на поиск Google, где вы выполняете поиск по любому ключевому слову, и отображается список подходящих документов.
Я использовал отражение для этой техники. Не могли бы вы проверить, верен ли этот метод или есть какой-нибудь простой способ для этого?
Я получил все свойства строк таблицы dblinq и сравнил их строковый тип, а затем проверил значение.
Код Я использовал
public static List<Contacts> SearchContact(string searchText)
{
List<Contacts> list = new List<Contacts>();
try
{
var rows= from p in context.tblContacts select p;
foreach (var contact in rows)
{
Type type = contact.GetType();
Type typesearch = searchText.GetType();
PropertyInfo[] properties = type.GetProperties();
foreach (PropertyInfo pro in properties)
{
if (pro.PropertyType == typesearch)
{
var value = pro.GetValue(contact, null);
string val = value as string;
if (val != null && val == searchText)
{
list.Add(contact);
break;
}
}
}
}
}
catch (Exception ex)
{
}
return list;
}
PS: Я получаю ожидаемый результат от этого метода, но я хотел бы знать, есть ли у меня еще какой-либо альтернативный способ.