0

在文件和类别之间的多对多关系中,我想检查文件是否存在,如果存在,是否有任何类别(因为它可能没有任何类别):

        public bool existsInDBAndHasCategories(string path)
    {
        using (WinFileContextContainer c = new WinFileContextContainer())
        {
            return c.File.Any((o => o.path == path));
        }
    }    

这将检查具有此路径的文件是否在数据库中有记录。我从这个网站上的一个线程得到这个。说实话,我仍然不擅长使用 LINQ 和 lambdas,所以我不知道如何扩展它来为我提供任何类别的 BOOLEAN。提前感谢您的时间。

4

2 回答 2

1

您只需向您的方法添加另一个条件(假设您已定义Categories为类中的列表CategoryFile

return c.File.Any((o => o.path == path && o.Categories.Any()));
于 2013-05-21T07:53:18.780 回答
0

如果您不熟悉 Lamba,请先学习简单的 LinQ,然后再学习 Linq 查询中的 lambda。

你的代码应该是这样的:

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)
    }
}    
于 2013-05-21T07:54:54.240 回答