ok, więc mamy EF, i w contexcie jest tabela z dużą ilością kolumn.
mamy enumerację z nazwami kolumn z tej tabeli encji (nazwy równoważne, odpowiadające kolejnosci

bez sensu jest wymienianie 40 kolumn tabeli i przypisywanie im ręcznie wartosci z listy
potrzebuje się odwołac się do kolumny poprzez jej kolejność

zrobiłem odczyt w ten sam sposób (poprzez dataset i Reflection ), wiec nie wierze zeby się nie dało.

 
// poszukaj reguł do tej listy
                        IQueryable query3 = from lrrq in context.XXXX
                                     where lrrq.ID == LogRuleListElement.Id
                                     select lrrq;
                        //stwórz nową tabele wirtualną
                        DataTable dtlr = new DataTable("LogRights");
                        // konwertuj wyniki query3 do tabeli (poprzez system.reflection)
                        dtlr = UsefullFunctions.QueryToDataTable(query3);
                        //dla kazdej kolumny (bez id i fname) ...
                        for (int i = 2; i < dtlr.Columns.Count; i++)
                        {
                            // dodaj element praw
                            LogRuleRightsElement = new cLogRuleRightsElement();
                            // wybierz typ z enuma- dtlr.Columns[i].ColumnName.ToString(), sparsuj do obiektu, i spartsuj do dokładnego typu z enuma
                            LogRuleRightsElement.LogType = (eLogTypeNames)Enum.Parse(typeof(eLogTypeNames), dtlr.Columns[i].ColumnName.ToString(),true);
                            // pobierz z tabeli czy jest 0 czy jeden
                            LogRuleRightsElement.Allowed = Convert.ToBoolean(dtlr.Rows[dtlr.Rows.Count-1][i]); 
                            // dodaj do listy
                            LogRuleListElement.LogRuleRights.Add(LogRuleRightsElement);
                        }
                        //dodaj do finalnej listy :)
                        logRulesList.Add(LogRuleListElement);