情景:
我需要从数据库中获取一些记录,我需要通过CreationDate
对它们进行分组IQueryable<AlbumDTO> albums = (from c in context.Albums.where(x =>x.SingerID==1)
.orderBy<x =>x.AlbumDate>.groupBy(x => x.AlbumDate)
select new AlbumsDTO()).Take(10));
但是如何使用此查询获取AlbumNames?
因为如果我这样做
select new AlbumDTO()
{
AlbumName = //nothing comes here and throws error
}
答案 0 :(得分:0)
context.Albums.Where(x=>x.SinderID==1)
.OrderBy(x =>x.AlbumDate)
.GroupBy(x => x.AlbumDate)
.Select(_ => new AlbumsDTO{AlbumName = _.AlbumName});
在我对linq的理解中 - 您没有填充AlbumDTO
个对象,只是初始化它们。
我在linq查询中填充AlbumDTO
个对象的方式 - 假设AlbumName
- 是同时包含公共setter和public getter的属性:
public class AlbumDTO
{
public string AlbumName {get;set;}
}