在Entity Framework中放置上下文之前更新整个图

漏接

假设我有两个简单的实体:

class Cat
{
    int Id;
    string Name;
    ICollection<CatRelation> ToRelations;
    ICollection<CatRelation> FromRelations;
}
class CatRelation
{
    int FromCatId;
    int ToCatId;
    Cat FromCat;
    Cat ToCat;
    string RelationType;
}

我想做的是加载所有Cats及其关系,并使导航属性在整个图形中正常工作。到目前为止,我有这样的事情:

context.Cats.Include(cat => cat.ToRelations)
            .Include(cat => cat.FromRelations)
            .ToList()

此后,将处理上下文。再往下走,列表就会遍历。这对于到达关系实体很有效,但是例如,如果我迭代Cats,然后尝试迭代所有关系,则该对象的另一端在CatRelation那里,但是其导航属性不起作用(ContextDisposed )。像下面这样,给定以下cat var cat1 = cats.First().ToRelations.First().ToCat,如果我尝试访问cat1.ToRelations则会得到ContextDisposed -exception。

那么,有没有办法让我在处理上下文之前要求上下文修复所有这些导航属性(因为我知道我已经加载了所有CatRelations中的所有Cats)?

特凡福森

对于图,我认为最好加载整个表,然后自己构造图。即使您可以让EF从数据库中递归地提取所有数据,它也不会为关系使用现有的对象(如果它们存在于内存中),而是使用相同的数据构造新的实例。那可能不是您想要的,这将导致更多的数据被传输到引导中。

无论如何,我认为无法获得EF来提取任意嵌套的深度或关系图中可能存在循环的数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用多个Entity Framework上下文并行查询

来自分类Dev

尝试模拟Entity Framework上下文时抛出TargetInvocationException

来自分类Dev

每次Entity Framework数据库迁移后如何访问上下文

来自分类Dev

来自WCF数据服务的Entity Framework 6数据上下文

来自分类Dev

可以在单个TransactionScope内使用多个Entity Framework数据上下文吗?

来自分类Dev

在Entity Framework中使用DbSet而不是IDbSet模拟数据库上下文类

来自分类Dev

在Entity Framework 6中使用来自多个线程的单个上下文

来自分类Dev

如何使用Entity Framework以可编辑的DataGridView和上下文跟踪更改的方式筛选数据?

来自分类Dev

将对象列表添加到Entity Framework中的数据库上下文

来自分类Dev

我的上下文未从Entity Framework Core中的DbContext继承

来自分类Dev

从Entity Framework Core中的cookie和基本路径创建数据库上下文

来自分类Dev

可以在单个TransactionScope中使用多个Entity Framework数据上下文吗?

来自分类Dev

使用Entity Framework 6的多个上下文,跨dbcontexts引用了多个实体

来自分类Dev

绑定到Entity Framework上下文的DataGridView的格式化值排序

来自分类Dev

共享数据上下文/注入依赖项Entity Framework 6代码优先

来自分类Dev

Entity Framework Core 腳手架附加表而不是上下文

来自分类Dev

在带有Entity Framework的ASP.NET MVC中,在此上下文中仅支持原始类型或枚举类型

来自分类Dev

将同一对象附加到Entity Framework 6中的不同上下文

来自分类Dev

将MySQL存储过程添加到Entity Framework上下文时出现外键约束错误

来自分类Dev

升级到Entity Framework Core 3时出错,当前上下文中不存在RelationalReferenceCollectionBuilderExtensions

来自分类Dev

227个Mapped类的子类型导致慢速Entity Framework数据库上下文初始化?

来自分类Dev

在带有Entity Framework的ASP.NET MVC中,在此上下文中仅支持原始类型或枚举类型

来自分类Dev

Entity Framework Adding and Deleting an Entity?

来自分类Dev

类型“上下文”不继承自“ System.Data.Entity.Migrations.DbMigrationsConfiguration”。EF迁移

来自分类Dev

.Net如何使用上下文处理LINQ-To-Entity中的连接?

来自分类Dev

实体类型<entity> 与当前上下文的模型不匹配

来自分类Dev

Entity Framework Invalid Column

来自分类Dev

SQL injection with Entity Framework

来自分类Dev

Entity Framework autoincrement key

Related 相关文章

  1. 1

    使用多个Entity Framework上下文并行查询

  2. 2

    尝试模拟Entity Framework上下文时抛出TargetInvocationException

  3. 3

    每次Entity Framework数据库迁移后如何访问上下文

  4. 4

    来自WCF数据服务的Entity Framework 6数据上下文

  5. 5

    可以在单个TransactionScope内使用多个Entity Framework数据上下文吗?

  6. 6

    在Entity Framework中使用DbSet而不是IDbSet模拟数据库上下文类

  7. 7

    在Entity Framework 6中使用来自多个线程的单个上下文

  8. 8

    如何使用Entity Framework以可编辑的DataGridView和上下文跟踪更改的方式筛选数据?

  9. 9

    将对象列表添加到Entity Framework中的数据库上下文

  10. 10

    我的上下文未从Entity Framework Core中的DbContext继承

  11. 11

    从Entity Framework Core中的cookie和基本路径创建数据库上下文

  12. 12

    可以在单个TransactionScope中使用多个Entity Framework数据上下文吗?

  13. 13

    使用Entity Framework 6的多个上下文,跨dbcontexts引用了多个实体

  14. 14

    绑定到Entity Framework上下文的DataGridView的格式化值排序

  15. 15

    共享数据上下文/注入依赖项Entity Framework 6代码优先

  16. 16

    Entity Framework Core 腳手架附加表而不是上下文

  17. 17

    在带有Entity Framework的ASP.NET MVC中,在此上下文中仅支持原始类型或枚举类型

  18. 18

    将同一对象附加到Entity Framework 6中的不同上下文

  19. 19

    将MySQL存储过程添加到Entity Framework上下文时出现外键约束错误

  20. 20

    升级到Entity Framework Core 3时出错,当前上下文中不存在RelationalReferenceCollectionBuilderExtensions

  21. 21

    227个Mapped类的子类型导致慢速Entity Framework数据库上下文初始化?

  22. 22

    在带有Entity Framework的ASP.NET MVC中,在此上下文中仅支持原始类型或枚举类型

  23. 23

    Entity Framework Adding and Deleting an Entity?

  24. 24

    类型“上下文”不继承自“ System.Data.Entity.Migrations.DbMigrationsConfiguration”。EF迁移

  25. 25

    .Net如何使用上下文处理LINQ-To-Entity中的连接?

  26. 26

    实体类型<entity> 与当前上下文的模型不匹配

  27. 27

    Entity Framework Invalid Column

  28. 28

    SQL injection with Entity Framework

  29. 29

    Entity Framework autoincrement key

热门标签

归档