【发布时间】:2014-04-26 06:50:07
【问题描述】:
由于我刚开始linq,问题可能会被认为是菜鸟
我有一个场景,我必须导入远程 csv 并在数据库中更新它。
以前我使用的是传统方法,即逐行拆分和更新。
我写的查询如下
var WItems =
( from ln in File.ReadAllLines(FilePath).Skip(1)
let columns = ln.Split(',')
select new
{
Style = Convert.ToString(columns[0].Trim()),
UPC = Convert.ToString(columns[1].Trim()),
Description = Convert.ToString(columns[2].Trim()),
FabricContent = Convert.ToString(columns[3].Trim()),
CareInstruction = Convert.ToString(columns[4].Trim()),
Color = Convert.ToString(columns[5]),
Size = Convert.ToString(columns[6].Trim()),
Price = Convert.ToString(columns[7].Trim()),
Category = Convert.ToString(columns[8].Trim()),
SubCategory = Convert.ToString(columns[9].Trim()),
Stock = Convert.ToString(columns[10].Trim()),
} ).ToList();
当底部没有空行时,此查询运行良好,但如果底部有空行,则抛出错误。我的问题是我怎样才能只拆分那些有文字或非空白的行。
【问题讨论】: