从实体框架中的集合加载相关实体
Posted
技术标签:
【中文标题】从实体框架中的集合加载相关实体【英文标题】:Load related entities from a Collection in Entity Framework 【发布时间】:2013-07-11 15:22:41 【问题描述】:如何从已加载的集合中加载相关实体:
收藏:
public class Ad
// Primary properties
[Key]
public int Id get; set;
private ICollection<Feature> _features;
public virtual ICollection<Feature> Features
get return _features ?? (_features = new HashSet<Feature>());
set _features = value;
特点:
public class Feature
// Primary properties
public int Id get; set;
public string Name get; set;
// Navigation properties
public virtual ICollection<Ad> Ads get; set;
public Keyword Keyword get; set;
关键字:
public class Keyword
// Primary properties
public int Id get; set;
public string Name get; set;
public bool IsActive get; set;
我需要为广告中的所有功能加载实体关键字。
谢谢
【问题讨论】:
【参考方案1】:在您的存储库类中尝试:
public Ad GetAd(int id)
return _database.Set<Ad>().Include(ad => ad.Features.Select(feature => feature.Keyword)).FirstOrDefault(ad => ad.Id == id);
【讨论】:
您好,谢谢,这里的问题是我使用带有 Get、Ad 等方法的存储库。 @Patrick,主要思想是.Include(ad => ad.Features.Select(feature => feature.Keyword))
。或者您能举例说明您的存储库是如何实现的吗?以上是关于从实体框架中的集合加载相关实体的主要内容,如果未能解决你的问题,请参考以下文章