首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在数据库中存储操作的优先级?模式?

在数据库中存储操作的优先级?模式?
EN

Stack Overflow用户
提问于 2014-05-02 10:31:01
回答 2查看 91关注 0票数 1

我需要在数据库中存储一个操作列表以及它们的优先级或顺序。我不确定是否将优先级最高的操作存储为零或其他操作。换句话说,如果优先操作的顺序存储在数据库中的话:

代码语言:javascript
复制
'0 1 2 3 4 5 6'  

代码语言:javascript
复制
'6 5 4 3 2 1 0'

表数据结构:

代码语言:javascript
复制
[operationName, precedence]

另外,用户还可以从列表中的UI( WPF应用程序)中重新订购它们,然后点击"Save",在这种情况下,我需要更新它们。他还可以创建一个新的操作,并将其插入UI中的列表中,然后单击SAVE .它还应该根据UI中的顺序将操作存储在数据库中。

编辑:

其他的事情是,它们甚至可以从UI中删除或删除它们,而UI也需要更新到数据库中。围绕这一点有什么最佳实践或模式吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-02 10:53:31

这很简单。看起来您有一个需要保存的项目列表。您还需要按照用户定义的顺序对项目进行排序。用户可以更改项目的顺序,可以删除项目等等。您希望将这些内容持久化到数据库中。

假设数据库中有一个存储项的表。刚才没有任何东西可以存储用户定义的订单。您需要添加的是类型的单个属性(以及关系数据库表的单个列),以反映订单。

代码语言:javascript
复制
id | operation_name | user_order
--------------------------------

因此,当用户重新订购项目时,可以将它们全部保存回数据库,或者执行UPDATE语句并更新user_order列。

基本上,这就是你现在所拥有的。查询数据时,可以使用此SQL。

代码语言:javascript
复制
Select ...
From ...
Order by user_order

在LINQ中也是如此

票数 1
EN

Stack Overflow用户

发布于 2014-05-02 10:40:47

这看起来像是一个审计跟踪设施。如果这些序列表示某些日期,那么Martin的事件源可以向您展示一些模式:事件源

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23426006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档