2010-03-23 57 views
1

处理以下情况的最佳方法是什么?
如何在.NET中处理可选字段的外键

对于特定形式的下拉列表(对于主表)是可选的。但是,在数据库表中,该字段受外键限制。如果用户没有从下拉列表中选择,则会由于外键而产生问题。

一种解决方案是在主表中创建默认选项并在空白选择的情况下使用它。但在下拉菜单中,我们需要处理这个以显示在顶部。 它是完美的解决方案吗? 有没有其他优化的解决方案呢?

感谢

+0

所以你的下拉不是真的可选。你的解决方案似乎没问题,只要让下拉菜单显示默认选择即可。 – tzup 2010-03-23 09:21:35

回答

2

如果在数据库的要求,那么它不应该是在前端可选。请更改数据库或更改前端。单独使用外键约束不应该使其成为强制性的,您可能希望使该字段为空。

+0

我们可以在外键约束中插入null吗?数据库的空插入是否合适? – Brij 2010-03-23 12:33:36

+0

这取决于你的数据结构 - 在这种情况下,null表示这个项目与你的FK无关。有些人不喜欢空,但这真的是你自己。 – Paddy 2010-03-23 12:53:00

+1

如果你真的可以有一个未链接的项目,NULL是迄今为止最好的选择来存储它是不链接的事实,而不是任何标记值。这是数据库在返回一个左连接时所做的事情,因此它很好且一致,并且当您需要在您的应用程序中对其进行响应时,数据库很容易用像COALESCE这样的函数进行检测和处理。 – eftpotrm 2010-03-24 12:27:26