我试图在实体框架模型中加载派生类的属性。
我看过all over the place我必须首先使用OfType()过滤集合,然后再使用Include()包含属性:
var persons = Context.Persons
.OfType<Employee>()
.Include("Compensation")
我不知道如何让Include()工作,因为在我的情况下,Persons是DbSet,OfType()返回IQueryable而IQueryable没有定义Include()方法。
答案 0 :(得分:16)
放置这个:
using System.Data.Entity;
进入您的使用列表,然后您就可以使用DbExtensions
类的Include
扩展方法系列:
public static IQueryable<T> Include<T, TProperty>(this IQueryable<T> source, Expression<Func<T, TProperty>> path) where T : class;
public static IQueryable<T> Include<T>(this IQueryable<T> source, string path) where T : class;
public static IQueryable Include(this IQueryable source, string path);
他们接受IQueryable作为第一个参数,并且还有强类型的那个,哪个更好,然后是Include(String)
。