Linq over HttpPostedFileWrapper的InputStream

时间:2013-04-30 00:01:51

标签: c# linq httppostedfilebase

是否可以从HttpPostedFileWrapper应用Linq查询?

我的网络应用程序允许用户选择一堆.csv文件。我现在需要打开这些文件并导入它们。

我之前使用路径和文件名的代码如下所示;

            importedList = (from csvLine in File.ReadAllLines(fileName)
                            let x = csvLine.Split(',')
                            select new ImportedXDock
                            {
                                StoreNumber = int.Parse(x[0]),
                                DCNumber = int.Parse(x[1]),
                                DeliveryDay = x[2],
                                Activity = x[3],
                                ActivityDay = x[4],
                                Time = TimeSpan.Parse(x[5])

                            }).ToList();

但是,现在我有HttpPostedFileWrapper个对象的集合,我将如何做同样的事情?

修改

或者我是否需要将其转换为某些内容然后读取文件?

1 个答案:

答案 0 :(得分:1)

您可以循环使用文件名而不是输入流

foreach (var fileName in wrapper.Select(w => w.FileName))
{
    yield return (from csvLine in File.ReadAllLines(fileName)
                    let x = csvLine.Split(',')
                    select new ImportedXDock
                    {
                        StoreNumber = int.Parse(x[0]),
                        DCNumber = int.Parse(x[1]),
                        DeliveryDay = x[2],
                        Activity = x[3],
                        ActivityDay = x[4],
                        Time = TimeSpan.Parse(x[5])

                    }).ToList();
}