我有这4个复选框,构成字符串变量saljes,kopes,字节,erbjudes逆转。当他们被检查时,他们会得到“开启”的值。包含(),如何使用lambda
从这个我放在一起,它包含所有我想在LINQ的语句,以包括数字的字符串变量(P)。 假设所有复选框都被选中,我会得到一个“1234”的字符串,如果仅选中复选框2和4,则会导致“24”。
在我的数据库我有一个名为“类型”字段是int类型的。我想告诉数据库包含所有具有可以在字符串p中找到的“Type”值的行。
像这样的东西(当然,我的代码不能正常工作,所以我需要你们):
var searchResult = from s in db.Ads select s;
string p = "1";
if (saljes != "on")
p = p.Replace("1", "");
if (kopes == "on")
p += "2";
if (bytes == "on")
p += "3";
if (erbjudes == "on")
p += "4";
searchResult = searchResult.Where(s => p.Contains(s => s.Type.ToString());
我还挺需要做的是相反的载有(),但如何?
你不能使用IEnumerable p'?如果你需要它,你总是可以用'String.Join'加入它,但是可以让你更多地控制获取单个值。另一个选择是使用位:'Int32 p;'和测试'(p&1)','(p&4)'等。 –
2012-04-25 13:31:09
所以如果你的字符串是“234”,那么值为“24”应该在你的数据库中找到? – 2012-04-25 13:32:46
您的问题对我来说有点不清楚 - 查看几个您希望针对各种“类型”值发生的示例会很有用。 – 2012-04-25 13:35:27