在文件和类别之间的多对多关系中,我想检查文件是否存在,如果存在,如果它有任何类别(因为它可能没有任何类别):
public bool existsInDBAndHasCategories(string path)
{
using (WinFileContextContainer c = new WinFileContextContainer())
{
return c.File.Any((o => o.path == path));
}
}
检查具有此路径的文件是否在数据库中有记录。我从这个网站的一个帖子得到了这个。说实话,我仍然不熟悉LINQ和lambdas,所以我不知道如何扩展它以给我任何类别的BOOLEAN。提前谢谢你。
答案 0 :(得分:1)
您只需在方法中添加其他条件(假设您已将Categories
定义为Category
类中的File
列表:
return c.File.Any((o => o.path == path && o.Categories.Any()));
答案 1 :(得分:0)
如果你不熟悉Lamba,在开始使用Linq查询中的lambda之前,先开始学习简单的LinQ。
你的代码应该像这样:
public bool existsInDBAndHasCategories(string path)
{
using (WinFileContextContainer c = new WinFileContextContainer())
{
var query = from f in c.File
where f.Path == path &&
(f.Categories != null || f.Categories.Count != 0)
select f;
return (f.Count != 0)
}
}