Использование LINQ для итераций по базе данных и генерации общего XML-макета схемы + данные - PullRequest
1 голос
/ 13 октября 2011

Есть ли простой способ заставить LINQ выполнять итерацию по каждому из полей в таблице и получать свойства поля, такие как имя поля?По сути, я хочу просто создать простой XML-документ, который представляет схему БД, например:

 <report>
      <nameoffirsttable>
           <field1name>field1data</field1name>
           <field2name>field2data</field2name>
           ...
           <field234name>field234data</field234name>
      </nameoffirsttable>
      <nameofsecondtable>
           ...
      </nameofsecondtable>
      <anothersecondtable>
           ...
      </anothersecondtable>
 </report>

Пока что все примеры, которые я видел в веб-поисках, показали явные ссылки на именованные поля.

1 Ответ

2 голосов
/ 13 октября 2011

Это создаст схему, которую вы обрисовали с помощью LINQ:

XElement report = new XElement("report", 
MyDataContext.Mapping.GetTables()
   .Select(i => 
      new XElement(i.TableName, 
          i.RowType.DataMembers
          .Select(j => new XElement(j.Name, j.DeclaringType.Type.Name))));

Просто убедитесь, что ссылаетесь на System.Data.Linq и System.Xml.Linq.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...