POCO实体上的私有构造函数防止延迟加载



我有一个POCO实体,在该实体上我定义了一个自定义构造函数。我还实现了默认构造函数,这样当我从数据库请求副本时,实体框架可以成功地对对象进行水合。

这似乎很有效,但当我将默认构造函数设置为private(以强制我的代码使用自定义版本)并从数据库中请求实体时,我似乎无法浏览相关实体,因为它们都是null。

这似乎是一个延迟加载问题,所以我可以更改我的存储库以快速加载我需要的相关对象,但我想知道是否有更好的方法可以在允许实体框架延迟加载的同时从客户端代码中隐藏默认构造函数?

如果您定义了私有构造函数,则违反了创建负责延迟加载的POCO代理的要求:

自定义数据类必须具有公共或受保护的构造函数没有参数。

因此,对您来说,最好的选择是使用受保护的构造函数或不使用延迟加载。

最新更新