使用 NPoco 进行原始 SQL 查询的层



我正在使用NPoco作为我的BLA。我需要知道在 .NET 应用程序中将自定义/原始 SQL 查询与 NPoco 一起使用的最佳实践是什么?

一般来说,我知道不鼓励使用原始 SQL 查询,但对于 NPoco,我有一些场景,即连接多个表(5,6 或更多)以获得 8,9 列的表结果是有意义的。

有一个数据库的通用存储库,我使用它来访问我的模型。那么我应该在哪一层编写原始 sql 查询,哪个结果,我需要在我的 BL 中?我是否应该始终创建临时 DTO 来接收/映射此类查询的结果或动态接收它们?(在动态对象中映射此类结果的成本有多高?

提前感谢您的宝贵反馈。

丹尼

在我看来,PetaPoco是你的数据层。您应该将查询放在 BL 中。

使用动态仅适用于从数据库获取简短的临时结果,但我总是会从 BL 返回对象列表(可以是业务对象或 DTO)。

最新更新