将数据从SQL导出到CSV

时间:2014-06-05 17:15:15

标签: sql sql-server entity-framework csv export-to-csv

我正在使用EntityFramework访问sql server以返回数据。需要将数据格式化为制表符分隔文件。然后我想压缩数据以返回给用户。

我可以进行选择,然后迭代EF对象并将所有数据格式化为一个大字符串 - 但这需要永远(我将返回800k行)。查询本身非常快,但它只是在内存中创建csv文件就是杀死它。

我发现this post描述了如何使用sqlcmd作为导出(但使用csv)直接执行此操作,而sql似乎非常有前景,但我不清楚如何通过-EExecuteSqlCommand()的其他参数......或者甚至是它的意思。

我试着这样做:

var test = context.Database.ExecuteSqlCommand("select Chromosome c, 
StartLocation sl, Endlocation el, GeneName gn from Gencode where c = chr1", 
"-E", "-Q", new SqlParameter("-s", "\t"));

但当然没有用......

有关如何解决此问题的任何建议?如果重要的话,我正在使用EF 6.1。

1 个答案:

答案 0 :(得分:0)

使用简单方法的备用选项。 F5 - >存储结果 - >保留文件名 enter image description here