0

我有这样的代码:

 var modele = from model in ds.Tables["modele"].AsEnumerable()
                         where model.Field<string>("KRAJ_PRODUKCJI") == krajText
                         && model.Field<string>("FABRYKA") == fabrykaText
                        // && model.Field<string>("NAZWA") == itemId 
                         orderby model.Field<string>("NAZWA")
                         select model;

在注释掉的行中,我需要动态生成一个where子句或检查该字段NAZWA是否等于多个关键字之一,itemId其中是一个带有几个关键字的列表,可以用 || 检查 之间。

是否有可能做到这一点?

4

2 回答 2

1

您是否尝试过类似的方法:

where itemId.Contains(model.Field<string>("NAZWA"))

我不确定这是否是您正在寻找的东西,但它可能是。

@korchev's 不起作用,因为您想要一个“||”。

Mam nadzieje ze 到 pomocne。

于 2011-02-21T13:49:21.757 回答
0

可能无法直接开箱即用,但我猜您应该朝这个方向寻找答案:

var keywords = itemId.split("||");

var model = from m in ds.Tables["modele"].AsQueryable();

model = model.Where(m => keywords.Contains(m.Field<string>("NAZWA"));
于 2011-02-21T13:54:04.127 回答