Get 和 Load 之间的区别

2024-05-10

有什么区别Get<T>(object id) and Load<T>(object id)?文档读起来几乎是一样的。另外,如果重要的话,在什么情况下我应该使用其中一种而不是另一种?


The 布莱恩提供的参考 http://ayende.com/Blog/archive/2009/04/30/nhibernate-ndash-the-difference-between-get-load-and-querying-by.aspx解释得很清楚。但是,那main区别在于Load doesn't点击数据库来检查并加载您需要的实体,因为它假设您知道该实体存在。返回的对象Load是某种代理,它在需要时延迟获取真实数据,或者在未找到实体时抛出异常。

Recap:

  • Load当您确定存在具有特定 ID 的实体时应使用。该调用不会导致数据库命中(因此在某些情况下可以通过 NHibernate 进行优化)。请注意,如果数据库中不存在实体实例,则访问对象时可能会引发异常。

  • Get访问数据库或会话缓存以检索实体数据。如果实体存在则返回,否则返回null将被退回。这是确定具有特定 ID 的实体是否存在的最安全方法。如果您不确定使用什么,请使用Get.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Get 和 Load 之间的区别 的相关文章

  • NHibernate 表更新事件

    我有这个表映射 我认为细节并不重要 WithTable COPACKER FACILITY Id x gt x FacilityNumber FACILITY NUM GeneratedBy Sequence FACSEQ Map x gt
  • 将 MyGeneration 与 Fluent NHibernate 结合使用

    我在这里找到了一个使用 MyGeneration 生成 NHibernate 代码的绝佳模板 http vucetica blogspot com 2009 01 nhibernate template for my Generation
  • 多态性:ORM 实体是领域实体还是数据实体?

    我有一个 BankAccount 表 LINQ to SQL 生成一个名为 BankAccount 的类 如下所示 global System Data Linq Mapping TableAttribute Name dbo BankAc
  • 软删除 Nibernate

    我想对我的数据库表进行软删除 我应用了以下语句 如此处所述http nhibernate info blog 2008 09 06 soft deletes html http nhibernate info blog 2008 09 06
  • 会话已关闭对象名称:“ISession”。在 NHibernate.Impl.AbstractSessionImpl.ErrorIfClosed() - 如何阻止会话过早关闭

    我在带有 MySQL 的 MVC C 应用程序中使用 NHibernate 我正在尝试让多个用户访问该会话 我一直在使用 InRequestScope 在我的会议上 但我仍然得到 System ObjectDisposeException
  • 流畅的 Hibernate 问题

    我的实体中有这个 public virtual Iesi Collections Generic ISet
  • nHibernate + wcf + Isession

    我有一个包含 3 个项目的 C 解决方案 数据 WCF 和 UI 第一个是与数据库对话的类库 它通过第二个项目公开 该项目的类型为 WCF 服务库 原因是它将在第三个项目 称为 UI 的 Asp net 应用程序 作为指向 dll 的简单
  • 可排序的 Telerik 网格 + NHibernate、IQueryable 和 ASP.NET MVC

    我正在尝试让 Telerik 网格工作 分页工作正常 我的视图代码如下所示 Html Telerik Grid Model Name Grid Columns columns gt columns Bound o gt o ItemName
  • AutoMapper 将 IdPost 映射到 Post

    我正在尝试根据规则将 DTO 上的 int IdPost 映射到 Blog 对象上的 Post 对象 我想实现这一点 BlogDTO IdPost gt Blog Post 帖子将由 NHibernate 加载 Session Load I
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 使用按位运算符时的 HQL 到 CriteriaQuery

    如何将其转换为 CriteraQuery select n from TagRegistration t join t Tag n where t Status status gt 0 order by count t ID desc n
  • 如何判断一个引用的对象是否可以删除?

    我有一个名为 Customer 的对象 它将在其他表中用作外键 问题是我想知道是否可以删除 客户 即 它没有在任何其他表中引用 Nhibernate 可以做到这一点吗 你所要求的是找到的存在CustomerPK值在引用表FK列中 有很多方法
  • 是否可以在不改变作为框架一部分的 DDD 模型的情况下使用 NHibernate

    我挖掘了很多关于DDD方法 无处不在的语言 聚合 存储库等 我认为 与我读到的很多内容相反 实体应该有行为而不是不可知论 我看到的所有例子都倾向于呈现实体虚拟自动属性 and an 空构造函数 受保护或最糟糕的是公开 就是这样 我认为这种对
  • 通过 NHibernate 进行查询,无需 N+1 - 包含示例

    我有一个 N 1 问题 我不知道如何解决它 可以在这个问题的底部找到完全可重复的样本 因此 如果您愿意 请创建数据库 设置 NUnit 测试和所有附带的类 并尝试在本地消除 N 1 这是我遇到的真实问题的匿名版本 众所周知 这段代码对于帮助
  • NHibernate HQL 相当于 T-SQL 的 TOP 关键字

    NHibernate HQL 相当于 T SQL 的 TOP 关键字是什么 另外 用非 HQL 方式说 给我一门课的前 15 个 是什么意思 在 HQL 中这实际上非常简单 var top15 session CreateQuery fro
  • NHibernate 按 id 逐出

    大家都知道session中有缓存 这个缓存一般可以通过2种方法来清除 会话 驱逐 会话 清除 第二种方法不仅删除单个条目的所有缓存 我有商业方法 它接收大对象的 id 来自 aspx 站点 或有时接收多个 id 并在数据库中进行原生sql操
  • 在 MVC 应用程序中配置 NHibernate 二级缓存

    我有一个使用 NHibernate 的 MVC3 应用程序 一切都很顺利 直到我开始尝试添加二级缓存 浏览网页几个小时后 我终于找到了我认为正确的 dll NHibernate Caches SysCache2 dll 并将其添加到我的项目
  • NHibernate:如何从会话缓存中获取实体实例?

    我在工作单元开始时开始会话 并在工作单元结束时关闭 工作单元分布在多种方法中 在一种方法中 我使用加载实体Get方法 所以它位于会话缓存中 实体实例对于方法来说是本地的 因此 当方法范围结束时 实体实例将无法访问 但实体仍在会话缓存中 现在
  • Breeze + NHibernate 多对一关系,避免指定关系键

    以下多对一映射正在运行 取自 NorthBreeze public partial class UserRole public virtual long ID get set public virtual long UserId get s
  • NHibernate双向多对多映射列表/包

    我正在努力处理双向多对多映射 其中顺序在一侧很重要 但在另一侧则不重要 我有两个班级 项目和学生 一个项目有很多学生 顺序很重要 方案A John Sally Seth 方案B Alex Seth Amy John 一个学生有很多程序 但顺

随机推荐

  • 指标元素之间的空间

    如何增加 减少指标元素之间的空间ViewPagerIndicator 我用过CirclePageIndicator 我能够通过以下步骤在两个指标之间留出更多空间 打开源代码CirclePageIndicator并找到变量mRadius 在第
  • 为什么我的 x 轴在 iPhone 上不显示核心图?

    编辑 我认为我的问题更好地表述为 我怎样才能有一个不从零开始的 Y 轴 看起来 x 轴总是放置在 y 0 处 但我希望 x 轴位于 y 轴上的某个正数 这是一张包含更多常规数据的图表 我只是希望将 x 轴放置在绘图的最小 y 值 大约 77
  • 自动解析 PHP,将 PHP 代码与 HTML 分离

    我正在开发一个大型 PHP 代码库 我想将 PHP 代码与 HTML 和 JavaScript 分开 我需要对 PHP 代码进行多次自动搜索和替换 对 HTML 进行不同的搜索和替换 对 JS 进行不同的自动搜索和替换 有没有一个好的解析器
  • 分组为连续整数范围

    我检查了其他帖子 包括使用 Linq 按可变整数范围进行分组 https stackoverflow com questions 1375997 group by variable integer range using linq 但我没有
  • 如何自定义 WCF 在序列化合约方法参数时采用的流程?

    我想设计一个人为的场景 但它有坚实的实际基础 想象一个集合类型 COuter 它是另一个集合类型 CInner 的实例的包装器 两者都实现了 IList 不用管 T 此外 COuter 实例隐藏在某个对象图内 其根 我们将其称为 R 是从
  • 如何使用 SLF4J 和 Log4j2 记录 FATAL(或任何自定义日志级别)

    我有那些具体的要求 需要能够登录FATAL level 需要使用SLF4J 需要使用Log4j2 现在 这是我的执行 final Logger logger LoggerFactory getLogger HelloWorld class
  • 从 OMElement 对象获取 InputStream/io.Reader

    我有一个OMElement对象 从中我想得到一个InputStream或读者对象 我想要的是流式传输xml来自OMElement我有 没有加载到内存中 我只能得到XMLStreamReader对此表示反对 但我找不到办法得到InputStr
  • 为什么我的matchedGeometryEffect根据右下点移动?

    我只是尝试使用matchedGeometryEffect 制作一些动画 但是 存在一个错误 即该对象是根据右下点而不是中心进行动画处理的 我使用的代码在这里 import SwiftUI struct Test View Namespace
  • 如何在 mysql 中两次连接同一个表?

    我有2张桌子 其中一个 域 具有域 ID 和域名 dom id dom url 另一列包含实际数据 其中 2 列需要 TO 和 FROM 域名 所以我有 2 列 rev dom from 和 rev dom for 它们都存储域表中的域名
  • R 中的 Mapdeck 包 - add_grid 似乎未渲染任何内容

    Problem The add gridR 中的函数mapdeck包很精彩 然而 遵循CRAN 文档 https cran r project org web packages mapdeck mapdeck pdf 我似乎无法获得任何数据
  • C++ 相当于 std::vector 上的 numpy.unique,具有 return_index 和 return_inverse

    numpy有一个实施unique返回的算法 the 排序的唯一元素一个 numpy 数组 i e 没有重复项 此外 numpy unique https numpy org doc stable reference generated nu
  • WordPress Symfony 共存

    我们有一个在 Symfony 上运行的网站 它是由比我更有能力的人开发的 不过 我对 WordPress 非常熟悉 并将在该网站上安装一个博客 目前 该网站的根运行在 Symfony 上 但我希望 WordPress 能够接管 而不必触及
  • 如果包含字符串,pandas 重命名列

    我想遍历数据框中的所有列 并重命名 或映射 列 如果它们包含某些字符串 例如 将包含 agriculture 的所有列重命名为字符串 agri 我正在考虑使用rename and str contains但不知道如何将它们结合起来以实现我想
  • Git:检查文件是否存在于某个版本

    在我的应用程序中 我使用 git 对一些外部文件进行版本管理 我正在使用类似的命令git show HEAD 1 some file获取文件的某个版本 基于 git 标签 提交哈希或与 HEAD 的关系 当文件不存在时 会输出 致命 消息
  • JConsole找不到进程

    我尝试运行 JConsole 来分析正在运行的进程使用的内存 但 JConsole 不向我显示进程 即使我绝对确定某个进程正在运行 除此之外 它还应该在进程列表中显示 JConsole 但它没有 有谁知道为什么它不显示任何进程 Cheers
  • Hibernate OneToMany 关系是 PersistentBag 而不是 List

    我正在 javafx 中开发一个应用程序 它通过 RMI 与 EAR 连接 该 EAR 连接到 SQLServer DB 并使用 hibernate 映射 POJOS 这些 POJOS 包含双向 OneToMany 和 ManyToOne
  • 在绘制图形之前删除边数为 0 的节点(dot、graphviz)

    在绘制之前如何从图表中删除没有边缘的节点dot Tpng mcve gv o mcve png Current Result Wanted Result 阅读文档并搜索网络我发现以下内容answer http www graphviz or
  • 解决方案:动态加载独立编译的 Webpack 2 包 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想分享如何捆绑一个充当插件主机以及它如何加载已安装的插件动态地 应用程序和插件都与 Webpack 捆绑在一起 应用程序和插件被编译和分
  • jQuery 输入事件在 IE 中的占位符上触发

    我有一个输入字段input绑定到它的事件 通过 jQuery 每次输入值更改时都应触发此事件 我添加了一个占位符来告诉用户此输入字段的用途 如果用户单击此输入字段input不应触发事件 该值实际上不会改变 只是占位符消失 它在 Firefo
  • Get 和 Load 之间的区别

    有什么区别Get