(我是 Entity Framework 的新手,如果这是一个简单的问题,我深表歉意!)
在我的数据库表中,我有一个标题为 [SiteURL] 的列和另一个 [Keywords]
我在那里有记录,但有些在“关键字”字段中没有任何条目。我想让我的用户根据这两列过滤记录。
我的代码在这里:
Publishers = db.Publishers.Where(p =>
p.isActive == true
&& p.SiteURL.ToLower().Contains(((txtFilterBy_SiteURL.Value.Length > 0) && (txtFilterBy_SiteURL.Value.ToLower() == "site url")) ? p.SiteURL.ToLower() : txtFilterBy_SiteURL.Value.ToLower())
&& p.Keywords.ToLower().Contains(((txtFilterBy_KeyWord.Value.Length > 0) && (txtFilterBy_KeyWord.Value.ToLower() == "keyword")) ? p.Keywords.ToLower() : txtFilterBy_KeyWord.Value.ToLower())
).ToList();
我想说:
如果 txtFilterBy_SiteURL.Value 不为空且不等于“站点 url”,则在 [SiteURL] 中搜索已输入 txtFilterBy_SiteURL.Value 的任何内容
和
如果 txtFilterBy_KeyWord.Value 不为空且不等于“关键字”,则将 [Keywords] 包含在条件列表中,用于输入 txtFilterBy_KeyWord.Value 中的任何内容。
ID | SiteURL | Keywords |
1 | Rod.org | Travel |
2 | jane.com | |
3 | fred.com | motoring |
所以,如果用户在 txtFilterBy_SiteURL 中输入“.com”,我想返回
ID | SiteURL | Keywords |
2 | jane.com | |
3 | fred.com | motoring |
如果用户在 txtFilterBy_SiteURL 中输入“.com”,在 txtFilterBy_KeyWord 文本框中输入“mot”,我想要:
ID | SiteURL | Keywords |
3 | fred.com | motoring |