我正在扫描像这样的文件夹
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
}
答案 0 :(得分:0)
如果数据库中的每一行都有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+")");
答案 1 :(得分:0)
应该是你的dbobject.yourtable.remove(img);
答案 2 :(得分:0)
你可以试试这个:
if(fileexist == null)
{
db.Images.Remove(img);
db.SaveChanges();
}
答案 3 :(得分:0)
这是一个简单的问题,希望这是有效的。祝你好运
我认为你的Image类包含一个名字字段,如果是这样的话。否则只需修改它。只要问你是否有疑问
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);