如何在不进行转换的情况下实施CRUD?
在快乐的ADO.NET世界中兴起,我想知道如何在没有变更跟踪的情况下使用POCO管理CRUD操作。
典型胖客户端解决方案的常见模式是将DataTable绑定到控件,让用户通过删除,添加或修改行来管理数据。然后使用一个Save()
命令将数据写回数据库
通过与POCO合作,我发现大多数框架(如ServiceStack.ORMLite或PetaPoco)都跳过了更改跟踪,我想知道POCO可能看起来像一个强大的工作模式。
在复杂的业务应用程序中,不能仅使用事务等发送Update X to Y
命令,并且在用户单击“保存”之后,我看不到将更改捆绑到单个命令中。
答案 0 :(得分:0)
除非我弄错了,如果您想要存储所有更改,然后在“保存”命令中提交它们,那么您必须进行某种更改跟踪。是使用ADO事务实现还是使用自己的Unit of Work模式。
如您所述,您当然可以在没有更改跟踪的情况下执行CRUD操作,但必须立即提交CRUD操作。
如果是我,我会查看可用的工具(例如,您可以使用实体框架吗?) - 看看是否需要实际跟踪更改并权衡实现更改跟踪机制所需的开发时间。您可能会发现立即提交CRUD操作是最佳选择。