0
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 查询

4

2 回答 2

2

对于一位作者,这会找到具有最高 Id 的列:

if (author.Columns != null && author.Columns.Count > 0) 
{
    Column c = author.Columns.OrderByDescending(x => x.Id).First();
}
于 2013-09-11T19:44:28.847 回答
1

我想这就是你要找的:

var authors = yourSet.Select(a => 
    new Author { Id = a.Id, Name = a.Name, Columns = new[]{a.Columns.Last()}, 
                 AuthorImage = a.AuthorImage});

这样做的缺点是要改造每个作者,但你能做什么。

于 2013-09-11T19:29:36.150 回答