我有以下 3 个表作为简单“项目标记”模式的一部分:
==物品==
- 项目 ID 整数
- 品牌varchar
- 名称 varchar
- 价格钱
- 条件varchar
- 说明 varchar
- 有效位
==Tags==
==标签映射==
- 标签映射 ID int
- TagId int (fk) 标签ID
- 项目 ID int (fk)
- 有效位
我想编写一个 LINQ 查询来返回与标签列表匹配的项目(例如 TagId = 2,3,4,7)。在我的应用程序上下文中,项目的示例为“计算机监视器”、“礼服衬衫”、“吉他”等,标签的示例为“电子产品”、“服装”等。我通常会使用 SQL 来完成此操作IN 声明。
就像是
var TagIds = new int[] {12, 32, 42};
var q = from map in Context.TagMaps
where TagIds.Contains(map.TagId)
select map.Items;
应该做你需要的。这将生成一个 In ( 12, 32, 42 ) 子句(或者更具体地说,如果我没记错的话,是一个参数化的 IN 子句)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)