[英]c# Linq Get the ids of list elements in the entity query
我可以在单个查询中找到一个实体并吸引此列表中的ID吗?
实体
public class Blog : IEntity
{
public int Id { get; set; }
public virtual IList<Category> Categories { get; set; } = new List<Category>();
}
public class Category : IEntity
{
public int Id { get; set; }
public virtual IList<Blog> Blogs { get; set; } = new List<Blog>();
}
我可以在一个查询中输入以下代码吗? 应该同时找到博客ID和类别ID。
var blog = _blogService.Queryable().Include(x => x.Categories).FirstOrDefault(x => x.Id == id);
_blogService.DisposeContext();
var categoryIds = blog?.Categories.Select(x => x.Id).ToList();
假设Queryable()
为Queryable<Blog>
,则应该可以使用以下代码:
_blogService
.Queryable()
.Include(x => x.Categories)
.Where(x => x.Id == id)
.Select(x => x.Categories.Select(c => c.Id))
.FirstOrDefault();
_blogService.Blogs.Where(b => b.Id == blogId).Include(b => b.Categories)应该可以解决问题。 无需再次调用类别。 有关渴望加载的详细信息,请查看此链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.