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