【问题标题】:collections that track changes?跟踪变化的集合?
【发布时间】:2010-10-23 16:37:00
【问题描述】:

是否有任何集合跟踪对集合所做的更改?说删除/修改/添加了哪个对象?

ObservableCollection 只是提供通知,它不会将已删除的内容保留在 RemovedItems 属性中。我必须把它们放在某个地方。实际上我问这个问题的原因是如果我将集合绑定到数据网格,似乎我必须自己进行更改跟踪,我希望有一个集合会这样做,以便我知道如何使用集合更新数据库。

DataTable 跟踪更改,但使用起来并不容易。

【问题讨论】:

    标签: .net collections


    【解决方案1】:

    试试ObservableCollection。来自参考文本:

    表示动态数据集合 在项目时提供通知 被添加、删除或当整个 列表已刷新。

    编辑。您可能还想尝试通过使用数据集(即DataSet 类和相关)来解决您的问题。他们可以进行行版本控制并跟踪行状态更改(新的、已编辑的、已删除的),因此它可能对您有用。这是一个很好的主题介绍:http://msdn.microsoft.com/en-us/library/ww3k31w0.aspx

    【讨论】:

    • 它只是给出通知,它不会将已删除的内容保留在 RemovedItems 属性中。我必须把它们放在某个地方。实际上我问这个问题的原因是如果我将集合绑定到数据网格,似乎我必须自己进行更改跟踪,我希望有一个集合会这样做,以便我知道如何使用集合更新数据库。谢谢。
    • @Benny:为了大家的利益,我建议你用这个澄清更新你的问题。无论如何,我建议的课程可能对您有好处:您只需要监听事件并自己保存正在更改的项目。提供的库中没有为您进行跟踪的集合。以防万一你觉得冒险,我在我的答案中添加一个编辑。
    • 谢谢。编辑了我的问题。为你 +1。
    猜你喜欢
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多