我需要在数据库中存储一个操作列表以及它们的优先级或顺序。我不确定是否将优先级最高的操作存储为零或其他操作。换句话说,如果优先操作的顺序存储在数据库中的话:
'0 1 2 3 4 5 6' 或
'6 5 4 3 2 1 0'表数据结构:
[operationName, precedence]另外,用户还可以从列表中的UI( WPF应用程序)中重新订购它们,然后点击"Save",在这种情况下,我需要更新它们。他还可以创建一个新的操作,并将其插入UI中的列表中,然后单击SAVE .它还应该根据UI中的顺序将操作存储在数据库中。
编辑:
其他的事情是,它们甚至可以从UI中删除或删除它们,而UI也需要更新到数据库中。围绕这一点有什么最佳实践或模式吗?
谢谢
发布于 2014-05-02 10:53:31
这很简单。看起来您有一个需要保存的项目列表。您还需要按照用户定义的顺序对项目进行排序。用户可以更改项目的顺序,可以删除项目等等。您希望将这些内容持久化到数据库中。
假设数据库中有一个存储项的表。刚才没有任何东西可以存储用户定义的订单。您需要添加的是类型的单个属性(以及关系数据库表的单个列),以反映订单。
id | operation_name | user_order
--------------------------------因此,当用户重新订购项目时,可以将它们全部保存回数据库,或者执行UPDATE语句并更新user_order列。
基本上,这就是你现在所拥有的。查询数据时,可以使用此SQL。
Select ...
From ...
Order by user_order在LINQ中也是如此
发布于 2014-05-02 10:40:47
这看起来像是一个审计跟踪设施。如果这些序列表示某些日期,那么Martin的事件源可以向您展示一些模式:事件源
https://stackoverflow.com/questions/23426006
复制相似问题