【发布时间】:2014-08-18 13:41:46
【问题描述】:
我有如下所示的实体(使用 .NET Code First 和存储库模式):
public abstract class BaseContent : Entity
{
public Guid ID { get; set; }
public virtual ICollection<AssignedMedia> AssignedMedias { get; set; }
}
public partial class Library : BaseContent
{
public Library()
{
this.AssignedMedias = new List<AssignedMedia>();
}
}
public class Media : BaseContent
{
public Media()
{
this.AssignedMedias = new List<AssignedMedia>();
}
}
public class AssignedMedia : Entity
{
public int ID { get; set; }
//BaseContent reference ID
public Guid AssignedId { get; set; }
public Guid MediaId { get; set; }
public virtual Media Media { get; set; }
public virtual BaseContent BaseContent { get; set; }
}
然后我尝试将查询(作为 Dictionary
var list = from bc in Libraries
join a in AssignedMedias on bc.ID equals a.AssignedId
join m in Medias on a.MediaId equals m.ID
select new {
LibraryName = bc.Name, MediaList = ???
};
【问题讨论】:
-
你有什么问题?
-
我的问题是如何获得如上所示的 ToDictionary() linq 类型查询。 LibraryName 应该作为 group by 并且应该包含相关 Media 作为 List
每个 Library
标签: linq ef-code-first