在工作中,我们正在考虑为我们当前的所有库创建 Nuget 包。有些执行 CRUD 操作。 是否有任何标准反对或支持让 Nuget 包执行 CRUD 操作? 工作中的一些人提出了反对意见,理由是 nuget 包不应该执行 CRUD 操作。
我不认为有什么反对使用 nuget 进行 CRUD 操作,事实上,如果您正在从事新的敏捷项目,您将在其中对代码进行渐进式更新,那么这是个好主意。在这里,nuget 可以确保您拥有的 DAL 层版本可以支持现有代码,以便在旧版本中进行测试并在新版本中进行开发。
此外,如果稍后您想更换数据库技术(例如从本地 SQL Server 迁移到 Sql Azure/Cosmos),则只有具有相同合同的相同业务实体的新 CRUD nuget 包版本可以在不进行更改的情况下工作。
除了事实上它使调试变得困难之外,我看不出任何反对它的地方,因为 nuget 是发布版本,并且您在调试时无法进入异常代码,因此请确保您有广泛的日志记录和异常处理。
我知道这是一个老问题,但对于其他想知道同样问题的人来说,我想投入我的 2 美分。出于一个简单的原因,我会建议不要这样做。原因很简单,无法保证 CRUD 所需的表存在。当然,除非你的 Nuget 包可以创建它们,我不知道这是否可能。如果可能的话,我认为没有其他理由不这样做。