Asp.net mvc 2 急切地加载特定于子类型的实体

Asp.net mvc 2 急切地加载特定于子类型的实体,asp.net-mvc-2,entity-framework-4,Asp.net Mvc 2,Entity Framework 4,subfo是Foo的子类型,但只有Bar显示导航属性栏。所以 DB.Foos.Include('Bar') 产生 指定的包含路径无效。EntityType“Foo”未声明名为“Bar”的导航属性 我该怎么办?(除了明显地将Bar移动到Foo之外)一种方法是投影 var q = from f in DB.Foos let b = (f as SubFoo).Bar select new { Foo = f,

subfo是Foo的子类型,但只有Bar显示导航属性栏。所以

DB.Foos.Include('Bar')
产生

指定的包含路径无效。EntityType“Foo”未声明名为“Bar”的导航属性

我该怎么办?(除了明显地将Bar移动到Foo之外)

一种方法是投影

var q = from f in DB.Foos
        let b = (f as SubFoo).Bar
        select new
        {
            Foo = f,
            Bar = b
        };
 return q.AsEnumerable().Select(q => q.Foo);
那么:

DB.Foos.OfType<SubFoo>().Include("Bar")
DB.Foos.OfType().Include(“Bar”)
如果您希望对Foos(不仅仅是子OS)进行常规查询,并且所有子OS都必须加载Bar,则此操作不起作用