2

假设有一串以逗号分隔的文本值,如数组:

var excludelist ="apples,oranges,grapes,pears";

excludelist 值可能来自对数据库中表的查询。

假设一个查询,我们想要返回所有行,除了那些名为 Fruit 的字段包含排除列表中的任何项目的行。

var qry = from s in context.Groceries.Where(s => s.Fruit(here is where we need to exclude the items??) join u in context.Users on s.Owner equals u.User_ID

有人可以提供指向 SQL 答案的示例链接吗?

4

2 回答 2

0

你试过了Except吗?

var qry = from s in context.Groceries.Except(excludelist)...

链接到 SQL 有CONTAINS(和!包含)

where !excludelist.Contains(i)
        select i;
于 2012-05-28T00:33:29.077 回答
0

我是这样解决的:

我有一个包含我希望排除的水果名称的数据库表,并且我创建了一个列表(IList 显然不起作用)。

List<string> excludedfruit = context.ExcludedFruit.Select(x => x.ExcludedFruitName).ToList();

然后我使用了以下 Linq to SQL 查询(部分显示)

        var qry = from s in context.Groceries
                .Where(s => !excludedfruit.Contains(s.Fruit))
于 2012-05-28T18:32:20.850 回答