Дополнительный динамический столбец в результате действия в LINQ to SQL - PullRequest
0 голосов
/ 21 июня 2011

Я все еще плохо знаком с LINQ to SQL и мне нужен указатель на следующее.

У меня есть этот существующий код в моем контроллере, который используется в моем представлении индекса:

    var allIncident = _securityRepository.FindAllIncident(userId, SystemType.EI);
    var searchResults = (from s in allIncident
                         where s.IncidentDescription.Contains(searchText) &&
                         s.Site.SiteDescription.Contains(searchTextSite)
                         && (s.Entered >= startDate && s.Entered <= endDate)
                         orderby s.Entered descending
                         select s);

Это нормально, но мне нужно добавить еще один динамический столбец (на самом деле три, но как только я узнаю, как это круто).У меня есть 1-М таблица под названием IncidentAction.Есть много действий инцидента для одного Инцидента.Поэтому я хочу добавить дополнительный динамический столбец, который будет подсчитывать количество действий по инцидентам для каждой строки в результатах поиска.

С чего начать?В SQL я бы просто сделал select count as col_name, но здесь я не уверен, куда он идет.

1 Ответ

0 голосов
/ 21 июня 2011

Это то, что вы хотите?

    var searchResults = from s in allIncident 
                     join I in AllIncidentActions
                         on a.Id=I.Id
                     where s.IncidentDescription.Contains(searchText) &&
                           s.Site.SiteDescription.Contains(searchTextSite)  && 
                           (s.Entered >= startDate && s.Entered <= endDate)
                     orderby s.Entered descending  
                     select new
                     {
                          a.Id,
                          a.Dsc,
                          ...
                          a.AllIncidentAction.Count
                     };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...