entity-framework - 如何判断上下文中是否有任何实体使用.Net Entity Framework 4.0

标签 entity-framework entity-framework-4

我想知道 Entity Framework 上下文中是否有未保存的数据。我已经弄清楚了如何使用ObjectStateManager来检查现有实体的状态,但是我有两个问题。

  • 我希望调用一个函数来查看是否有未保存的实体,而不是遍历上下文中的所有实体。
  • 我不知道如何检测添加的实体。这向我表明我不完全了解实体上下文是如何工作的。例如,如果我有ObjectSet myContext.Employees,并向此集合添加了一个新员工(使用.AddObject),则在查看ObjectSet时看不到新实体,也看不到.Count增加。但是,当我执行一个context.SaveChanges()时,我的新实体就被保留了。

  • 我一直无法在msdn搜索中找到答案,所以我希望这里的人能够帮助我。

    提前致谢。

    最佳答案

    var addedStateEntries = Context
        .ObjectStateManager
        .GetObjectStateEntries(EntityState.Added);
    

    关于entity-framework - 如何判断上下文中是否有任何实体使用.Net Entity Framework 4.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2714857/

    相关文章:

    c# - 使用 AutoMapper 6.1.1 创建 map

    asp.net - Entity Framework 的提供程序连接字符串是否可以替换为已在 web.config 中定义的数据库连接字符串?

    c# - 如何在 EF6 异步中启动实体存储过程而不等待返回?

    entity-framework-4 - 如何首先在 EF4 代码中将表拆分为多种类型?

    asp.net-mvc-3 - 从 MVC 应用程序中的 EF Code-First DbContext 类生成 SQL CE 数据库

    asp.net - 错误 : EntitySet 'Building' that was specified in page markup does not exist on the Container

    c# - Automapper ProjectTo 将 ToList 添加到子属性中

    c# - 如何获取动态/通用类型的第一个元素

    c# - 如何计算 EF4 中 SaveChanges 的最佳大小?

    c# - .NET 4.0 Entity Framework 超时已过期