我开始使用EF(6.0)并提出一个简单的问题:
我使用模型第一种方法来设计包含名为“Component”的实体的实体模型。然后我创建了几个从这个基类型继承的实体,例如“VideoCard”。
现在在我的ASP.net代码中,我可以访问context.Components,但我似乎无法直接返回context.VideoCards。因此,如果我只想返回一个视频卡列表,我应该使用类似
的内容 context.Components.OfType<VideoCard>();
(试过这似乎有用),还是我应该知道关于这个主题的其他内容?
编辑:我意识到这也有效:
context.Components.Where(x => x is VideoCard);
这些方法中的一种比另一种好吗?
提前感谢您的回复。
答案 0 :(得分:1)
您可以在上下文中公开VideoCards
属性,并通过它获取VideoCard
个实体。
public class MyContext
{
public DbSet<Component> Components { get; set; }
public DbSet<VideoCard> VideoCards { get; set; }
}
并使用如下
var allVideoCards = context.VideoCards.ToArray();