';其中';语句转换为Sql
本文关键字:Sql 其中 语句 转换 | 更新日期: 2023-09-27 18:27:31
你好,我使用LinQ到sql链接,我需要凝胶ParentID==X的项目列表服务器代码
ul_LeftMenu.DataSource = data.TABLE_MENU_ITEMs.ToList();
ul_LeftMenu.DataBind();
我需要一些像这样的想法
int id =3;
ul_LeftMenu.DataSource = data.TABLE_MENU_ITEMs.ToList(dbParentID==ID);
ul_LeftMenu.DataBind();
or
ul_LeftMenu.DataSource = data.TABLE_MENU_ITEMs.ToList().Where(dbParentID==ID);
ul_LeftMenu.DataBind();
我只是能找到正确的方法来做这个
这是我的数据库
id ParentID Image Yrl
1 GENERAL 3 GENERA L.png www.youtube.com
2 PRODUCTS 3 Products.png www.youtube.com
3 CATEGORIES 3 Categories.png www.google.com
4 DISCOUNTS 3 Discounts.png www.youtube.com
5 ARTICLES 3 Articles.png www.youtube.com
你很接近。
你需要做的是这样的事情:
ul_LeftMenu.DataSource = data
.TABLE_MENU_ITEMs
.Where(x => x.dbParentID == ID);
ul_LeftMenu.DataBind();
当使用Linq的Where
时,您实际上并没有像您尝试的那样提供true/false表达式。您实际上需要提供一个函数,当将应用于每个项时,该函数将返回true或false。
您可以通过使用Lambda表达式(例如:)以简洁易读的方式来完成此操作
x => x.dbParentID == ID
其中x
是每个/当前项。
您需要使用Lambda表达式。
ul_LeftMenu.DataSource =
data.TABLE_MENU_ITEMs.Where(x => x.dbParentID == ID).ToList();
或查询语法
ul_LeftMenu.DataSource = (from item in data.TABLE_MENU_ITEMs
where item.dbParentID == ID
select item).ToList();
您可能不需要ToList()
。如果您收到关于某个绑定错误的异常,则必须使用ToList()
来创建副本。
查看101个LINQ示例,了解有关您还可以使用哪些功能的更多信息。