use*_*472 3 c# asp.net asp.net-mvc-3
如果表只包含主键字段,是否有一种在MVC3中编辑主键的方法.例如,我有一个控制台表,在其中我有控制台名称作为主键,我希望能够编辑它并更改它并保存编辑的值.
如果您需要更多信息,请告诉我.
作为一般规则,您不应该编辑主键.SQL Server中的主键通常在其上具有聚簇唯一索引,因此编辑主键意味着您可能必须重建索引(可能不是每次都有,但取决于偏差).
相反,我会创建一个假主键,例如SQL Server中的IDENTITY列,并在Name列上放置一个UNIQUE约束.如果表变大,则检索int列上的项也将比在varchar()列上检索更快.
更新: 因为我被告知我没有回答问题(即使这是接受的答案),可以更改SQL Server中的主键值.但从技术上讲,它不是编辑操作,因为参照完整性可能会阻止真正的编辑(我没有尝试过,所以请随意进行自己的实验!)
操作将是这样的:
我也会在交易中运行所有这些.但我会再次声明记录,我不建议采用这种方法.