这就是我想要实现的目标:
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)
请建议我。
答案 0 :(得分:2)
这就是诀窍:
//assuming that MultipleTags is an array of "ids"
var result = db.Tags.Where(t => MultipleTags.Contains(t.TagId)).Select(e => e.TagName).ToList().Aggregate((a, b) => a + "," + b);
答案 1 :(得分:0)
试试这个
var result = db.Tags.Where(t => MultipleTags.Contains(t.TagId)).ToList().ForEach((item) =>
{
item.TagName = item.id + "," + item.TagName;
});
答案 2 :(得分:0)
尝试使用此
var result = (string)null;
result=string.Join(",", (from a in db.Tags join m in MultipleTags on a.TagId equals m select a.TagName));