2011-02-11 25 views
0

SubFoo是Foo的子类型,但只有Bar显示导航属性Bar。所以急切地加载子类型特定实体

DB.Foos.Include('Bar') 

产生

一个指定的包含路径无效。 EntityType'Foo'没有声明名称为'Bar'的导航属性。

我该怎么办? (除了明显的移动酒吧到美孚)

回答

1

一种方式是项目

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); 
+1

令人惊讶的是,这工作得很好,谢谢。 – Martin 2011-05-11 12:08:43

1

什么:

DB.Foos.OfType<SubFoo>().Include("Bar") 

,如果你想查询一般在FOOS(不仅SubFoos这不起作用)和所有的SubFoos必须有酒吧加载..

+0

是的,所以这对我不起作用。 – Martin 2011-05-11 12:00:09

相关问题