我正在创建Zip文件,如:
var consultaGerente = _contexto.PDFGenerados.Where(x => x.nGerente == Gerente).ToList();
using (ZipFile fileZip = new ZipFile())
{
foreach (var i in consultaGerente)
{
var fileRoute = carpetaCorrecta + i.vRutaArchivo.Replace("/", "\\");
zip.AddFile(fileRoute, "PDF");
}
}
问题是当重复i.vRutaArchivo
时会抛出错误,因为我们无法将两个具有相同名称的文件添加到zip中。如何验证i.vRutaArchivo
永远不会重复?
答案 0 :(得分:1)
由于您只关注文件名,因此您可以使用LINQ提取更正的(替换)文件名并获取不同的列表。
var consultaGerente = _contexto.PDFGenerados
.Where(x => x.nGerente == Gerente)
.Select(i => i.vRutaArchivo.Replace("/", "\\"))
.Distinct()
.ToList();
using (ZipFile fileZip = new ZipFile())
{
foreach (var i in consultaGerente)
{
var fileRoute = carpetaCorrecta + i;
zip.AddFile(fileRoute, "PDF");
}
}