LINQ 查询返回多个结果
我正在尝试编写一个文本框,它将搜索 5 个数据库列,并返回给定搜索的每个结果,例如。 “Red”将返回:red ball、Red Williams 等。人们尝试过的任何例子或类似的事情。 我的搜索示例代码。
谢谢。
ItemMasterDataContext db = new ItemMasterDataContext();
string s = txtSearch.Text.Trim();
var q = from p in db.ITMSTs
where p.IMITD1.Contains(s) ||
p.IMITD2.Contains(s) ||
p.IMMFNO.Contains(s) ||
p.IMITNO.Contains(s) ||
p.IMVNNO.Contains(s)
select p;
lv.DataSource = q;
lv.DataBind();
I am trying to write a textbox that will search on 5 DB columns and will return every result of a given search, ex. "Red" would return: red ball, Red Williams, etc. Any examples or similar things people have tried. My example code for the search.
Thanks.
ItemMasterDataContext db = new ItemMasterDataContext();
string s = txtSearch.Text.Trim();
var q = from p in db.ITMSTs
where p.IMITD1.Contains(s) ||
p.IMITD2.Contains(s) ||
p.IMMFNO.Contains(s) ||
p.IMITNO.Contains(s) ||
p.IMVNNO.Contains(s)
select p;
lv.DataSource = q;
lv.DataBind();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您的示例中的“q”将是一个
IQueryable
。 我认为 WebControl 的 Datasource 属性不知道如何处理它。 尝试将该行写为:"q" in your example will be an
IQueryable<ITMST>
. I don't think the Datasource property of WebControl know what to do with that. try writing that line as:您可以执行类似的操作(语法可能已关闭),
或者您可能想使用此 链接或此链接< /a> 来自 MSDN。
快乐编码!
You can do something like this (syntax may be off )
or you might want to use this Link or this Link from MSDN.
Happy Coding!!
您所拥有的通常是人们使用 linq 所做的事情。 如果您想变得更复杂并使用数据库通配符,请查看 System.Data.Linq 中的 SqlMethods 类。
@詹姆斯·柯兰
您可以分配 DataSource 属性 q ,它会正常工作。 唯一的不同是查询执行的时间。
What you have is generally what people would do using linq. If you wanted to get more complex and use database wild cards then take a look at the SqlMethods class in System.Data.Linq.
@ James Curran
You can assign the DataSource property q and it will work fine. The only different is when the query gets executed.