【问题标题】:CRUD without change tracking没有更改跟踪的 CRUD
【发布时间】:2014-02-18 16:57:13
【问题描述】:

如何在没有变更跟踪的情况下实施 CRUD?

在快乐的 ADO.NET 世界中长大,我想知道如何在没有更改跟踪的情况下使用 POCO 管理 CRUD 操作。
典型胖客户端解决方案的常见模式是将 DataTables 绑定到控件,并让用户通过删除、添加或修改行来管理数据。然后使用Save()command 将数据写回数据库。
与 POCO 合作时,我看到大多数框架(如 ServiceStack.ORMLitePetaPoco)都跳过了更改跟踪,我想知道 POCO 的工作模式可能是什么样的。
在复杂的业务应用程序中,不能在不使用事务等的情况下一个接一个地发送Update X to Y 命令。例如,在用户单击“保存”后,我认为无法将更改捆绑到一个命令中。

【问题讨论】:

  • 您是在问这样的框架是如何做到的,还是在问应该如何使用这些框架?顺便说一句,如果您想要一个具有良好文档的框架,请考虑开箱即用的框架(例如实体框架)。

标签: c# poco crud


【解决方案1】:

除非我弄错了,如果您想存储所有更改,然后通过“保存”命令提交它们,那么您必须进行某种更改跟踪。无论是使用 ADO 事务实现,还是您使用自己的 Unit of Work 模式。

您当然可以在没有更改跟踪的情况下执行 CRUD 操作,但您必须立即提交 CRUD 操作。

如果是我,我会查看可用的工具(例如,您可以使用实体框架吗?) - 查看实际跟踪更改的需求并权衡实施更改跟踪机制所需的开发时间。您可能会发现立即提交 CRUD 操作是最佳选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    • 2018-06-28
    相关资源
    最近更新 更多