如果表只包含主键字段,是否可以在 MVC3 中编辑主键。例如,我有一个控制台表,其中我将控制台名称作为主键,我希望能够编辑它并更改它并保存编辑后的值。
如果您需要更多信息,请告诉我。
作为一般规则,您永远不应该编辑主键。 SQL Server 中的主键通常有一个聚集唯一索引,因此编辑主键意味着您可能必须重建索引(也许不是每次,但取决于倾斜)。
相反,我会创建一个假主键,例如 SQL Server 中的 IDENTITY 列,并在 Name 列上设置 UNIQUE 约束。如果您的表变得很大,则在 int 列上检索项目也将比在 varchar() 列上检索项目更快。
Update:由于我被告知我没有回答这个问题(即使这是公认的答案),因此可以更改 SQL Server 中的主键值。但从技术上讲,这不是编辑操作,因为引用完整性可能会阻止真正的编辑(我还没有尝试过,所以请随意进行自己的实验!)
操作会是这样的:
- 使用新的 PK 值向主表添加新行
- 运行更新操作将所有 FK 值更改为新的 PK 值
- 删除旧的 PK 行
我也会在事务中运行所有这些。但我再次郑重声明,我不建议采取这种做法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)