我有这4个复选框,它们构成字符串变量saljes,kopes,bytes,erbjudes.检查它们时,它们会获得"打开"值.
从这里我把一个字符串变量(p)放在一起,其中包含我想要包含在LINQ语句中的所有数字.假设如果选中所有复选框,我将得到一个"1234"的字符串,如果只选中复选框2和4,则会产生"24".
在我的数据库中,我有一个名为"Type"的字段,其类型为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());
Run Code Online (Sandbox Code Playgroud)
我有点需要做的是反转Contains(),但是如何?
我有一个问题,请查看模型并向数据库添加信息.
假设我有这两个类:
public class Ad {
public int Id { get; set; }
public int CategoryId { get; set; }
public string Headline { get; set; }
public string Text { get; set; }
public int Type { get; set; }
public Category Category { get; set; }
}
public class Category {
public int CategoryId { get; set; }
public int CategoryName { get; set; }
public IColletion<Ad> Ads { get; set; }
}
Context class:
public DbSet<Ad> Ads …Run Code Online (Sandbox Code Playgroud)