我试图在我的对象集的某些属性中进行一些搜索,但是我在正确的方法上安装我的linq查询时遇到了一些麻烦,我有我的VT_Video类,它有其属性和一些链接对象
user given word
我想要完成的是在Video collection
,VT_Video.title
,VT_Video.description
以及VT_Video.VT_VideoTag.VT_Tag.name
内搜索title
内的description
,我设法做到了far仅搜索var myVideos = db.VT_Video.Include("VT_VideoTag")
.Include("VT_VideoTag.VT_Tag")
.Where(vid =>
vid.descricao.Contains(strBusca) ||
vid.titulo.Contains(strBusca)).ToList();
和public static void main(String[] args) {
String date = "1.43701862E9";
java.util.Date time = new java.util.Date(Double.valueOf(date).longValue()*1000);
System.out.println(time);
}
:
Wed Jul 15 23:50:20 EDT 2015
现在,我知道我可以用一些foreach和额外的代码做我想做的事情,但我想知道是否可以使用linq来做它并保持我的代码干净。
感谢。
答案 0 :(得分:2)
我没有使用LINQ to SQL,但似乎.Any()
可以满足您的要求:
var myVideos = db.VT_Video.Include("VT_VideoTag")
.Include("VT_VideoTag.VT_Tag")
.Where(vid =>
vid.descricao.Contains(strBusca) ||
vid.titulo.Contains(strBusca) ||
vid.VT_VideoTag.Any(tag => tag.name.Contains(strBusca))).ToList();
注意我添加了这个条款:
vid.VT_VideoTag.Any(tag => tag.name.Contains(strBusca))
如果集合中的任何标记具有包含搜索字符串的名称,则返回true。