0

我有以下查询来获取包含日期的结果:

var q = from x in db.TableX
                    where x.Timestamp.CompareTo(fromDate) >= 0
                       && x.Timestamp.CompareTo(toDate) <= 0
                    select x;

我的 TableX 有多个外键。但是,当我调试时,我只看到其中一个被提取,而所有其他键都为空,即使我在数据库中正确地看到它们不为空并且通过 ID 连接到它们的外部表。

 public class TableX
    {        
        public int Id { get; set; }
        public string str1{ get; set; } 
        public Table2 t1{ get; set; }
        public Table3 t2{ get; set; }
        public Table4 t3{ get; set; }
        public Table5 t4{ get; set; }
        public Tablet5 t5{ get; set; } 
        }
4

1 回答 1

1

假设您正在使用延迟加载,您需要将导航属性定义为虚拟,并且您需要启用代理创建,以便 EF 可以围绕您的类创建代理并在需要时覆盖这些属性以加载。

public class TableX
    {        
        public  int Id { get; set; }
        public string str1{ get; set; } 
        public virtual Table2 t1{ get; set; }
        public virtual Table3 t2{ get; set; }
        public virtual  Table4 t3{ get; set; }
        public virtual Table5 t4{ get; set; }
        public virtual Tablet5 t5{ get; set; } 
     }
于 2012-07-20T03:39:57.397 回答