c# - 为什么在与 NHibernate 一起使用时,实体类中的所有公共(public)方法都声明为虚拟方法?

标签 c# nhibernate entity

为什么要使用 NHibernate 将实体类方法声明为公有虚方法。

答案是 NHibernate 将能够在运行时覆盖这些方法吗?

最佳答案

是的。 NHibernate 将向您的对象返回一个代理。在最简单的情况下,这将完全未初始化,并且只知道它的类型和 ID。因此,NHibernate 将需要拦截对对象的方法调用,并在调用消息正文之前对其进行初始化。

关于c# - 为什么在与 NHibernate 一起使用时,实体类中的所有公共(public)方法都声明为虚拟方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2198189/

相关文章:

c# - 使用 Linq 根据每个项目中的值的总和对列表进行排序

c# - Unity3D SetActive 卡住UI面板

.NET 4.0 解决方案中的 NHibernate 1.2

NHibernate 保存/更新事件监听器 : listening for child object saves

swift - Xcode 11 无法识别核心数据实体

java - 创建 DB 实体类时的 NetBeans 问题

sql - 数据库关系问题

c# - 我无法使用 pack Uri 从 WPF 中的代码访问资源图像文件

c# - 如何在空接口(interface)方法上使用异步

nhibernate - 用于查询的无状态 NHibernate