Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数据从SQL导出到CSV_Sql_Sql Server_Entity Framework_Csv_Export To Csv - Fatal编程技术网

将数据从SQL导出到CSV

将数据从SQL导出到CSV,sql,sql-server,entity-framework,csv,export-to-csv,Sql,Sql Server,Entity Framework,Csv,Export To Csv,我正在使用EntityFramework访问sql server以返回数据。数据需要格式化为以制表符分隔的文件。然后我想压缩数据以返回给用户 我可以进行选择,然后迭代EF对象并将所有数据格式化为一个大字符串——但这需要花费很长时间,我将返回大约800k行。查询本身速度相当快,但它只是在内存中创建csv文件,这就扼杀了它 我发现它描述了如何使用sqlcmd作为导出直接执行此操作,但使用csv with sql似乎非常有希望,但我不清楚如何将-E和其他参数传递给ExecuteSqlCommand。。

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

我可以进行选择,然后迭代EF对象并将所有数据格式化为一个大字符串——但这需要花费很长时间,我将返回大约800k行。查询本身速度相当快,但它只是在内存中创建csv文件,这就扼杀了它

我发现它描述了如何使用sqlcmd作为导出直接执行此操作,但使用csv with sql似乎非常有希望,但我不清楚如何将-E和其他参数传递给ExecuteSqlCommand。。。或者如果它是为了这个

我试着这样做:

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"));
但那当然不起作用


关于如何进行这项工作,有什么建议吗?如果有必要,我将使用EF6.1。

使用简单方法的替代选项。 F5->存储结果->保留文件名

SQLCMD是一个命令行实用程序。SQLParameter用于将参数传递给SQL命令