Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > LINQ (Language-Integrated Query) > Вложенный цикл в linq


Автор: Manonia 27.1.2014, 19:42
Подскажите пожалуйста, как переписать след. выражение на LINQ:

Код

private IEnumerable<SqlDataRecord> getFixCarryFirms(List<(Class1> cms)
        {
            List<SqlDataRecord> records = new List<SqlDataRecord>();

            foreach (Class1 cm in cms)
            {
                foreach (Class2 fcf in cm.Fcs)
                {
                    SqlDataRecord rec = new SqlDataRecord(TestMetaData);

                    rec.Add(cm.Id,
                        fcf.Ex.Id,
                        fcf.Ex.Name,
                        fcf.Name = fcf.Name ?? string.Empty,
                        fcfm.IsActive,
                        fcf.PrependSR,
                        fcf.UseFirm,
                        fcf.Prefix,
                        fcf.Suffix
                        );

                    records.Add(rec);
                }
            }

            return records;
}

Автор: jonie 27.1.2014, 22:12
cms.SelecMany(x=>x.Fcs).ForEach(x=>x.....) ?

Автор: Certain 28.1.2014, 09:51
У экземпляра класса SqlDataRecord отсутствует метод Add, а так
Код

IEnumerable<SqlDataRecord> records = 
cms.SelectMany (cm         => cm.Fcs, 
                           (cm, fcf) => new SqlDataRecord(TestMetaData).Add(cm.Id,  fcf.PrependSR,  fcf.UseFirm, ...));

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)