public class Author
{
public int Id {set;get;}
[Required]
public string Name { set; get; }
public ICollection<Column> Columns {set;get;}
public virtual File AuthorImage { set; get; }
}
我有以上型号。我想得到所有的作者和每个1列。但我想要每个最新的(最后插入的id)列。
使用DbContext,假设我有DbSet<Author> Authors
。得到这个的正确linq是什么?
对于一个作者,返回具有最高Id
的列的LINQ查询答案 0 :(得分:2)
对于一位作者,这会找到具有最高Id的列:
if (author.Columns != null && author.Columns.Count > 0)
{
Column c = author.Columns.OrderByDescending(x => x.Id).First();
}
答案 1 :(得分:1)
我认为这就是你要找的东西:
var authors = yourSet.Select(a =>
new Author { Id = a.Id, Name = a.Name, Columns = new[]{a.Columns.Last()},
AuthorImage = a.AuthorImage});
这样做的好处是重塑了每一位作者,但你能做些什么。