На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Перевести столбцы в строки в LINQ
    Имеется таблица:

    ExpandedWrap disabled
      ID   Фамилия       Имя          Отчество       Дата рождения
       
      1    Иванов        Иван         Иванович       01.01.1981        
      2    Петров        Пётр         Петрович       02.02.1982
      3    Сидоров       Сидор        Сидорович      03.03.1983
      4    Егоров        Егор         Егорович       04.04.1984


    Необходимо посредством LINQ-запроса в VB.NET по заданному ID
    пользователя вывести в столбец значения соответствующей строки
    таблицы, где в каждой строке таблицы будет присутствовать имя
    столбца и соответствующее значение в выбранной строке, при этом
    значения из столбцов с нестроковым типом данных, привести к типу
    System.String

    То есть по ID=2 надо получить такую таблицу:

    Name Value
    ID 2
    Фамилия Петров
    Имя Пётров
    Отчество Петрович
    Дата рождения 04.04.1984
      Сначала получить список полей 1 раз, а потом обычный select по ID
        Цитата Relaxander @
        Сначала получить список полей 1 раз, а потом обычный select по ID

        Со списком полей понятно, но в остальном не очень... Если можно - кусочек кода для лучшего понимания. Спасибо
          Dim person = From p In persons
          Where p.ID = PersonID.ToString()
          Select p.ID, p.FamilyName, p.Name, p.Patronymic, p.BirthDate
            Цитата Relaxander @
            Dim person = From p In persons
            Where p.ID = PersonID.ToString()
            Select p.ID, p.FamilyName, p.Name, p.Patronymic, p.BirthDate

            И что из этого? Это просто выбор строки из таблицы. А мне необходимо преобразовать строку в другую таблицу, где один столбец - название полей исходной таблицы, второй - значения полей в заданной строке.
              Цитата Zaharius @
              необходимо преобразовать строку в другую таблицу, где один столбец - название полей исходной таблицы, второй - значения полей в заданной строке

              ну и в чем сложность?
              названия полей получил один раз.
              потом делаешь запрос по ID, получаешь данные а DataRow.
              Создаешь объект типа DataTable с 2 полями: Name, Value
              в Name записываешь имена полей, а в Value - значения из DataRow[Name]
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0223 ]   [ 16 queries used ]   [ Generated: 27.04.24, 23:32 GMT ]