2015-03-03 3 views
0

Я создал метод, который будет проверять, содержит ли значение имени в столбце имен текущей таблицы, но мне также нужно выяснить, имя содержится в другом столбце, который находится во многих таблицах (TABLE.Project).Как я могу использовать предложение where и проверить, содержит ли строковая переменная во многих столбцах таблицы

TABLE.Customer 1 --- *(many) TABLE.Project(Which have column named "Name")

Это метод:

Public List<SearchObject> Finditem(string name) 
{ 
    var query = from o in db.tbl_Custommer 
       where o.Name.Contains(name) 
       select new SearchObject 
       { 
        Url = o.tbl_Webs.WebUrlName, 
        Name = o.Name, 
       }; 
    return query.ToList(); 
} 

мне нужно перебирать Повсеместно каждый o.Project ли?

Любая помощь ценится много!

+0

Таким образом, вы имеют отношение многих к многим от клиента к проекту, и вы хотите проверить столбец Project.Name и вернуть соответствующих клиентов? – xanatos

+0

@xanatos У меня есть один (Клиент) для многих (Project), и я хочу проверить, содержит ли мой строковый параметр в Project.Name и возвращает объект SearchObject с соответствующими значениями – Obsivus

ответ

1

предполагая, что вы имеете отношение правильно установить и ее называемые проекты, то вы можете использовать любой - то есть вернуть клиентов, где имя соответствует имени, и они имеют по крайней мере один проект с именем также соответствие:

var query = from o in db.tbl_Custommer 
        where o.Name.Contains(name) && o.Projects.Any(p => p.Name.Contains(name)) 
        select new SearchObject 
        { 
         Url = o.tbl_Webs.WebUrlName, 
         Name = o.Name, 
        }; 
Смежные вопросы