Как найти любое свойство в таблице с помощью linq?

Мне нужно выполнить поиск в таблице 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: Я получаю ожидаемый результат от этого метода, но я хотел бы знать, есть ли у меня еще какой-либо альтернативный способ.

6
задан Coder323 26 July 2011 в 01:26
поделиться