0

我给你一个CF例子:

public class MyContext : DbContext
{
    public DbSet<A> A { get; set; }
}

public class A
{
    public int E { set; get; }
}

public class B : A
{
    public int F { set; get; }
}

public class C : A
{
    public int G { set; get; }
    public virtual D D { set; get; }
}

public class D { }

查询是这样的:

    using (var context = new MyContext())
    {
       var queryResult = context.A.Include("D").Select(a => a);
    }

它会抛出此消息的异常:

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

您将如何仅使用一个 LINQ To Entity 查询来解决此问题?

4

1 回答 1

0

这是一个解决方法

using (var context = new MyContext())

{
   var typeA=typeOf(A);
   var queryResult ;      
   if( typeA.GetProperty("D")!=null)
         queryResult  = context.A.Include("D").Select(a => a);


}
于 2013-07-18T09:02:31.983 回答