C# 在Linq中过滤Sql表数据
我是Linq的新手,我正在使用C# 在Linq中过滤Sql表数据,c#,asp.net,linq-to-sql,C#,Asp.net,Linq To Sql,我是Linq的新手,我正在使用 DBSearchDataContext db = new DBSearchDataContext(); object q = from b in db.Articles where b.Tags.Contains(val) | b.NewsTitle.Contains(val) | b.EnglishContent.Contains(
DBSearchDataContext db = new DBSearchDataContext();
object q = from b in db.Articles
where b.Tags.Contains(val) |
b.NewsTitle.Contains(val) |
b.EnglishContent.Contains(val)
select b;
我不能排除类别=视频或照片的结果
请帮助我排除价值为“视频”或“照片”的类别。实际上,我们需要有关您的问题的更多信息。如果我们说,您有一个名为categories的表,其中包含ID PK(int)列。您需要搜索为 1-视频 2-照片
DBSearchDataContext db = new DBSearchDataContext();
var q = (from b in db.Articles
where
b.CategoryId == 1 // This is returns Videos category
select b).ToList();
我写不出确切的答案,但这会告诉你一个方法
因此,您的查询可以是:
var q = (from b in db.Articles
where
(b.Tags.Contains(val) ||
b.NewsTitle.Contains(val) ||
b.EnglishContent.Contains(val))
&&
b.CategoryId == 1
select b).ToList();
如果您提供更多有关如何查找类别(关联或枚举)的信息,我可以完善我的答案。实际上,我们需要有关您的问题的更多信息。如果我们说,您有一个名为categories的表,其中包含ID PK(int)列。您需要搜索为
DBSearchDataContext db = new DBSearchDataContext();
object q = from b in db.Articles
where
(b.Tags.Contains(val) ||
b.NewsTitle.Contains(val) ||
b.EnglishContent.Contains(val)) &&
!( b.SomeCategoryList.Containts("videos") || b.SomeCategoryList.Contains("photos") )
select b;
1-视频
2-照片
DBSearchDataContext db = new DBSearchDataContext();
var q = (from b in db.Articles
where
b.CategoryId == 1 // This is returns Videos category
select b).ToList();
我写不出确切的答案,但这会告诉你一个方法
因此,您的查询可以是:
var q = (from b in db.Articles
where
(b.Tags.Contains(val) ||
b.NewsTitle.Contains(val) ||
b.EnglishContent.Contains(val))
&&
b.CategoryId == 1
select b).ToList();
如果您提供更多关于如何查找类别(使用关系或枚举)的信息,我可以改进我的答案。DBSearchDataContext db=new DBSearchDataContext()
DBSearchDataContext db = new DBSearchDataContext();
object q = from b in db.Articles
where
(b.Tags.Contains(val) ||
b.NewsTitle.Contains(val) ||
b.EnglishContent.Contains(val)) &&
!( b.SomeCategoryList.Containts("videos") || b.SomeCategoryList.Contains("photos") )
select b;
可能是这样的……DBSearchDataContext db=newdbsearchdatacontext()
可能是这样的……您应该将
|
更改为|
,这是正确的或条件
要将其排除在外,您需要这样的东西(基于类别在数据库中的位置的假设):
您应该将您的|
更改为|
,这是正确的或
条件
要将其排除在外,您需要这样的东西(基于类别在数据库中的位置的假设):
我会远离单管“|”或操作员。首先,他们不做逻辑短路。另外,我总是将它们混淆为按位Or运算符。我也会远离单个管道“|”或运算符。首先,他们不做逻辑短路。另外,我总是把它们混淆为按位或运算符。