Как создать столбцы таблицы данных из нескольких записей, используя LinqtoSql? - PullRequest
2 голосов
/ 13 декабря 2011

У меня есть таблица sql, и я хочу, чтобы каждая запись была столбцом таблицы данных, и еще одна таблица sql с несколькими записями, связанными с каждым fieldID.Я хотел бы отобразить каждое значение в соответствующем столбце таблицы данных, используя linq

Example  data:
tbl_fields:

FieldID   |  FieldName
1         |   First Name
2         |   Last Name 
3         |   State  

tbl_records
RecID    |   FieldID     |   Value
1               1            John               
1               2            Doe               
1               3            NY                
2               1            Melissa
2               2            Rose               
3               1            Charlie
3               2            Brown
3               3            CA  

Display like this
RecID    |   First Name  | Last Name  | State
1              John             Doe          NY
2              Melissa          Rose         null
3              Charlie          Brown        CA 

Есть предложения?Спасибо!

edit: Это работает нормально, но что, если я не знаю FieldNames перед рукой или добавлено больше области FieldNames?

var data = (from d in db. tbl_records
                group d by d.RecID into g
                select new
                {
                    Id = g.Key,
             FirstName = g.Where(d => d.FieldName == "First Name").FirstOrDefault().Value,
         LastName = g.Where(d => d.FieldName == " Last Name").FirstOrDefault().Value,
     State= g.Where(d => d. State == "State").FirstOrDefault().Value,
               });

Ответы [ 2 ]

0 голосов
/ 14 декабря 2011

Вы можете добавить DBL, добавить в этот файл таблицы, которые вы хотите.затем сделайте что-то вроде:

    var dc = new YourdataContext();
    yourGrid.DataSource = dc.YourTable.Select( t => new {  
                                                    t.Property1, 
                                                    t.RelationTable.Property2, 
                                                    etc...                     
                                                  } );
   yourGrid.DataBind();

и добавьте это в page_load или page_init

Надеюсь, это поможет.Приветствия.

0 голосов
/ 13 декабря 2011

вы можете использовать сводный запрос.Ваш запрос будет генерировать столбцы автоматически.

для оракула http://www.oracle -developer.net / display.php? id = 506

для сервера sql http://www.mssqltips.com/sqlservertip/1019/crosstab-queries-using-pivot-in-sql-server-2005/

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