Используя Linq для создания результатов crosstab [дубликат]

Я предполагаю, что в вашем коде не более ОДНОГО тега заголовка. Это может происходить по нескольким причинам:

  1. Ваш исходный код неверен - убедитесь, что ваш код содержит ровно один метатег заголовка
  2. Кэш Google устарел - если вы вводите в Google «cache:», за которым следует URL вашего сайта или страницы, и вы увидите, что Google кеширует для вашего сайта. Если появившаяся дата наступила до того, как вы внесли изменения, вам придется подождать, пока goolge снова просканирует ваш сайт.
  3. Google не нравятся ваши заголовки - https://yoast.com/google-page-title/
  4. Вы не ошиблись, и это может быть вашим хостингом это задерживает правильный файл для загрузки и обновления в прямом эфире.

9
задан Community 23 May 2017 в 10:26
поделиться

4 ответа

Вам нужен runtimy класс для содержания этих результатов runtimy. Как насчет xml?

XElement result = new XElement("result",
  list.GroupBy(i => i.GroupId)
  .Select(g =>
    new XElement("Group", new XAttribute("GroupID", g.Key),
      g.Select(i => new XAttribute(i.Country, i.Value))
    )
  )
);

Вы ожидаете несколько записей на ячейку результата? Раз так должно было бы быть некоторое Подведение итогов (и больше группировки) там.

(этот ответ является подтверждением концепции, не конечным результатом. Существует несколько проблем для обращения, такие как: упорядочивание столбцов, недостающих ячеек, и так далее).

4
ответ дан 4 December 2019 в 23:08
поделиться

После выполнения быстрого поиска Вы могли бы хотеть посмотреть на ModuleBuilder, TypeBuilder и классы FieldBuilder в Системе. Отражение. Испустить. Они позволяют Вам создавать класс динамично во времени выполнения. За пределами этого необходимо было бы сделать группировку на объектах и затем сделать что-то с иерархическими результатами, которые Вы получаете от LINQ. Я не уверен в способе динамично создать анонимные поля типа во времени выполнения, и это походит на то, что должно было бы произойти.

1
ответ дан 4 December 2019 в 23:08
поделиться

Вы могли попытаться пользоваться динамической linq библиотекой, обеспеченной MS. У них есть много перегрузок к методам расширений, которые берут строки в качестве аргументов. У них также есть синтаксический анализатор выражения, который берет строку испущение лямбда-выражения. Необходимо смочь создать динамический выбор с помощью них.

Слово предупреждения, хотя, Вы заканчиваете с неуниверсальным IQueryable, а не универсальным IQueryable, таким образом, Вы немного ограничены на том, что можно сделать с результатом, и Вы бросаете немного безопасности типов, но это может быть в порядке в Вашем приложении...

Ссылка для динамического материала linq

http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

Существует ссылка, где можно загрузить исходный код динамическая библиотека плюс некоторые хорошие иллюстрации того, как можно использовать его.

1
ответ дан 4 December 2019 в 23:08
поделиться
var labResults = from lab in CoreLabResults
                 where lab.Patient == 8
                 group lab by new { lab.Patient, lab.TestNo, lab.CollectedDate }
                     into labtests
                     select new
                     {
                         labtests.Key.Patient,
                         labtests.Key.TestNo,
                         labtests.Key.CollectedDate,
                         MCHC = labtests.Where(lab => lab.TestVar == "MCHC").FirstOrDefault().Result,
                         LYABS = labtests.Where(lab => lab.TestVar == "LYABS").FirstOrDefault().Result,
                         TotalTests = labtests.Count()
                     }
1
ответ дан 4 December 2019 в 23:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: