繁体   English   中英

c#Linq获取实体查询中列表元素的id

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM