我正在使用EntityFramework访问sql server以返回数据。需要将数据格式化为制表符分隔文件。然后我想压缩数据以返回给用户。
我可以进行选择,然后迭代EF对象并将所有数据格式化为一个大字符串 - 但这需要永远(我将返回800k行)。查询本身非常快,但它只是在内存中创建csv文件就是杀死它。
我发现this post描述了如何使用sqlcmd作为导出(但使用csv)直接执行此操作,而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"));
但当然没有用......
有关如何解决此问题的任何建议?如果重要的话,我正在使用EF 6.1。