实体框架一对多可以实现

时间:2016-11-26 21:27:14

标签: c# .net orm entity-framework-6

所以,我是jugglin与tutorial,因为我需要优化一些查询。但是,我意识到在一对多关系中,EF倾向于首先检索所有相关行,并在内存中进行进一步查询 - 效率有点低,并且可能会将您的内存咀嚼到最后一位。有没有办法(或最佳实践)在EF中挂起一对多(或许多对多)关系,返回IQueryable而不是ICollection?

基本EF一对多

public class parent
{
   [Key]
   public int ParentId;
   public string Name;
   public virtual ICollection<Child> Childs;
}

public class Child
{
  [Key]
  public int ChildId;
  public string Name;
  public int ParentId;
  [ForeignKey("ParentId")]
  Public Parent Parent;
}

嗯,作为一点背景信息,我来自Laravel。也许只是我期待C#.Net上不存在。但是,在内存中记录3000+记录的Linq并不好玩,特别是如果你只采取少数几个记录。我错过了什么吗?我已经阅读了this问题,只是简单地通过id .Where来检索关系,因为它会分散(并且不安全)ORM的定义 - 使密钥管理集中并且不需要上层知道什么定义了对象的关系。拜托,赐教。

修改 谢谢谁投了这个票。对此,我真的非常感激。欢呼声。

0 个答案:

没有答案