我的应用程序具有配置选项,其中存储应用程序首选项和它正在与之交谈的其他节点的一些网络配置。该应用程序具有调度逻辑,可以使用任何网络配置来执行调度的作业。如果任何用于计划作业的配置,应用程序不应允许删除它。
我正在使用数据库表来存储配置。添加一个布尔值来提及是否正在使用它可以帮助我解决问题,但是实现这个的正确方法是什么?
我的应用程序具有配置选项,其中存储应用程序首选项和它正在与之交谈的其他节点的一些网络配置。该应用程序具有调度逻辑,可以使用任何网络配置来执行调度的作业。如果任何用于计划作业的配置,应用程序不应允许删除它。
我正在使用数据库表来存储配置。添加一个布尔值来提及是否正在使用它可以帮助我解决问题,但是实现这个的正确方法是什么?
不要在您的解决方案中看到任何问题。保持 smpleboolean
或bit
值表明该字段是否被使用是完全可以接受的。它在不同的数据库之间也可以很好地扩展(在你决定的那一刻,出于某种原因,改变数据库)。
因为如果您引入一些依赖于数据库的安全策略,以进行权限检查,您将与该数据库强耦合。
SQL Server 引擎可以自己处理数据完整性。您只需要设置密钥和删除/更新规则。
看
这样,您将必须捕获约束违反异常 ( ConstraintException
) 并通过通知用户来处理它。
注意。正如@Tigran 所说,您的解决方案也没有问题。