gpt4 book ai didi

c# - 如果文件不存在,则删除数据库中的值

转载 作者:太空宇宙 更新时间:2023-11-03 15:30:26 27 4
gpt4 key购买 nike

我正在扫描这样的文件夹

DirectoryInfo di = new DirectoryInfo(path);
var folders = di.GetDirectories().ToList().Select(d => d.Name);

var files = di.GetFiles();

我正在将文件名保存到数据库中,并且可以像这样从数据库中获取所有文件

var image = db.Images.ToList() 

如果文件不存在,我想从数据库中删除行

我正在尝试类似的方法,但它不起作用

var myimages = db.Images.ToList();
foreach (var img in myimages) {

var fileExist = files.FirstOrDefault(x => x.Name.ToString().Equals(img));

if (fileExist == null)
{
Delete from database
}

最佳答案

如果你的数据库中的每一行都有 id,你可以试试这个:

var myimages = db.Images.ToList();
string ids = "";
foreach (var img in myimages) {

var fileExist = files.FirstOrDefault(x => x.Name.ToString().Equals(img));

if (fileExist != null)
ids+=img.id.ToSting()+",";

}

if(ids=="")
return

ids = ids.Remove(ids.Length-1,1);
db.Database.ExecuteSqlCommand("delete from [Images] where id not in ("+ids+")");

关于c# - 如果文件不存在,则删除数据库中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33935013/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com