gpt4 book ai didi

c# - 获取没有 2 个 foreach 函数的相关实体 ID

转载 作者:行者123 更新时间:2023-12-03 20:30:00 25 4
gpt4 key购买 nike

我有 2 个实体,我需要找到一种方法来避免使用两个 foreach 函数:

public class IzigoKeyword
{
public int Id { get; set; }
public string Name { get; set; }

// Navigation properties
public Address Address { get; set; }
public virtual ICollection<Keyword> Keywords { get; set; }
}

public class Keyword
{
public int Id { get; set; }
}

到目前为止的功能:

public IList<int> GetKeywordIdsFromIzigoKeywordIds(IList<int> izigoKeywordIds)
{
IList<int> keywordIds = new List<int>();

foreach (var izigoKeywordId in izigoKeywordIds)
{
var keywords = _izigoKeywordRepository.Query.Where(ik => ik.Id == izigoKeywordId).Select(ik => ik.Keywords);

foreach (var keyword in keywords)
{
keywordIds.Add(keyword.Select(k => k.Id).FirstOrDefault());
}
}
return keywordIds;
}

如果没有 2 个 foreach 函数,我怎么能做到这一点?

谢谢。

最佳答案

return ids.SelectMany(id => 
query.Where(ik => ik.Id == id)
.SelectMany(ik => ik.Keywords)
.Select(k => k.Id)
);

关于c# - 获取没有 2 个 foreach 函数的相关实体 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20307855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com