我有一个模型的ICollection我需要从模型中选择某些字段并从模型中创建一个CSV文件。现在我正在通过模型进行预测并拉动田地并按照这样的方式收割它们:
foreach(OrderComposite ord in orders)
{
order += ord.Customer.EmailAddress.ToString() + "," + ord.OrderId.Value.ToString() + "," + ord.DateCreated.Value.ToString() + "," + ord.TotalSalePrice.Value.ToString() + "," + ord.TotalSaleTax.Value.ToString() + ",0,0," + ord.OrderStatus.ToString() + ",?,?,?,?" + ord.TotalDiscount.Value.ToString() + ",online";
}
这不是我想要这样做的方式。我确信有一种方法可以通过LINQ执行此操作但我在使Order.Select语句工作时遇到问题。我知道使用这种方法效率极低,所以我开始尝试这个:
using(var file = File.CreateText(settings.listrakProductFeed.ListrakOrderItemsFileLocation))
{
file.WriteLine(orders.Select(x => string.Join(",",x.Customer.EmailAddress.ToString(), x.OrderId.Value.ToString())));
}
效率更高吗?最终我会使用WriteLineAsync,但一次只能使用一步。
感谢。
答案 0 :(得分:0)
这是一个非常天真的分隔文件结果实现
in
它不做的事情。
使用属性值中的分隔符处理字符串。 嵌套类型。你应该自己扁平化数据。
但这些肯定是你自己可以添加的东西。