【发布时间】:2016-04-24 20:42:34
【问题描述】:
这就是我想要达到的目标:
var result = (string)null;
foreach (var tagId in MultipleTags)
{
result = string.Join(",", db.Tags.Where(t => t.TagId == tid).Select(e => e.TagName));
}
这个结果变量应该以逗号分隔的形式保存所有值,而 MultipleTags 包含一组 id,因此它会迭代不止一次。
我应该怎么写。请建议我。 我怀疑这行写得是否正确。
db.Tags.Where(t => t.TagId == tid).Select(e => e.TagName)
请给我一些建议。
【问题讨论】:
-
假设
Where(t => t.TagId == tid)只返回一个值(即TagId是唯一键),那么您的代码将只返回一个值(因此没有任何“加入”) -
我知道这就是为什么我要问如何将逗号分隔的值返回给这个结果变量,因为我必须根据 tagId @StephenMuecke 选择标记名
-
你需要一个
.Contains()来获得所有与Tags匹配的MultipleTags- Fabio Luz 的回答应该如此。 -
那么,
result +=?阅读How to Ask 并展示示例输入和输出,以及您尝试过的内容。
标签: asp.net-mvc entity-framework linq foreach linq-to-entities